Convert from T-SQL to Access query? -
is there convenient way convert t-sql query ms access? round
, coalesce
doesn't seem work in access. i'm trying custom avg
field run in access gets syntax error (missing operator).
select top 50 [employeeid] ,[last name] ,[first name] ,[hrsthiswk] --avg hrs ,round( coalesce(( coalesce([1wksago],0) + coalesce([2wksago],0) + coalesce([3wksago],0) + coalesce([4wksago],0) + coalesce([5wksago],0) )/ nullif( case when coalesce([1wksago],0)=0 0 else 1 end + case when coalesce([2wksago],0)=0 0 else 1 end + case when coalesce([3wksago],0)=0 0 else 1 end + case when coalesce([4wksago],0)=0 0 else 1 end + case when coalesce([5wksago],0)=0 0 else 1 end, 0),0), 2) '--- avg hrs ---' ,[1wksago] ,[2wksago] ,[3wksago] ,[4wksago] ,[5wksago] [cmhr].[dbo].[tbl52weekhours_20150527] group [employeeid] ,[last name] ,[first name] ,[hrsthiswk] ,[1wksago] ,[2wksago] ,[3wksago] ,[4wksago] ,[5wksago]
use nz
instead of coalesce
, nullif
, , iif
instead of case when
, "..."
instead of [...]
this:
select top(50) "employeeid" ,"last name" ,"first name" ,"hrsthiswk" ,round( nz(( nz("1wksago",0) + nz("2wksago",0) + nz("3wksago",0) + nz("4wksago",0) + nz("5wksago",0) )/ nz( iif(nz("1wksago",0)=0, 0, 1) + iif(nz("2wksago",0)=0, 0, 1) + iif(nz("3wksago",0)=0, 0, 1) + iif(nz("4wksago",0)=0, 0, 1) + iif(nz("5wksago",0)=0, 0, 1), 0),0), 2) "avg hrs" ,"1wksago" ,"2wksago" ,"3wksago" ,"4wksago" ,"5wksago" "tbl52weekhours_20150527" group "employeeid" ,"last name" ,"first name" ,"hrsthiswk" ,"1wksago" ,"2wksago" ,"3wksago" ,"4wksago" ,"5wksago"
you can create query without top(50)
, set top values property 50
.
Comments
Post a Comment