0

我想使用 case 语句(MS Access 无法识别),但这是我所拥有的:

Sum(if [Time Report].Cust_id=2
                          then ([Time Report].[Hrs P1]) 
                          ELSE 0 END IF) AS [SumOfHrs P1],  
Sum(if [Time Report].Cust_id=2
                          then ([Time Report].[Hrs P2]) 
                          ELSE 0 END IF) AS [SumOfHrs P2], 
Sum(if ([Time Report].Cust_id=2 )
                          then ([Time Report].[Hrs P3]) 
                          ELSE 0 END IF) AS [SumOfHrs P3], 

等等
。我想要的是一个新表,其中只有 cust_id = 2 的“Pn”摘要使用这种布局

Name    P1    P2    .....
Bob     0.23  0.45

但是我收到错误消息Syntax error (missing operator) in query expression 'query',然后它突出显示了THEN我的查询部分。

出了什么问题?

Ps:不幸的是,除了access 2003之外的任何东西都无法编写sql。

4

1 回答 1

1

我想你想要:

Sum(iif ([Time Report].Cust_id=2,[Time Report].[Hrs P1],0)) AS [SumOfHrs P1],  
Sum(iif ([Time Report].Cust_id=2,[Time Report].[Hrs P2],0)) AS [SumOfHrs P2], 
Sum(iif ([Time Report].Cust_id=2,[Time Report].[Hrs P3],0)) AS [SumOfHrs P3], 

请参阅http://office.microsoft.com/en-us/access-help/iif-function-HA001228853.aspx

于 2012-08-09T11:17:14.160 回答