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], 


私が欲しいのは、'Pn's for cust_id = 2 の要約だけを含む新しいテーブルです。この種のレイアウトで

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 に答える