50

openingbalanceおよびCommissionsという名前のフィールドを含むクエリがあります。Access VBA のこのブロックと同様に、openingbalanceに基づいて手数料の値を計算したいと思います。Select Case

Select Case OpeningBalance
   Case 0 To 5000
        commission = 20
   Case 5001 To 10000
        commission = 30
   Case 10001 To 20000
        commission = 40
   Case Else
        commission = 50
End Select

しかし、Access ではクエリを使用できないためSelect Case、Access SQL で目的を達成するにはどうすればよいでしょうか?

4

3 に答える 3

8

IIF を使用して同様の結果を得ることができます。

IIF ステートメントをネストして、複数のケースを処理できることに注意してください。ここに例があります: http://forums.devshed.com/database-management-46/query-ms-access-iif-statement-multiple-conditions-358130.html

SELECT IIf([Combinaison] = "Mike", 12, IIf([Combinaison] = "Steve", 13)) As Answer 
FROM MyTable;
于 2013-04-02T20:53:36.137 に答える
1

あなたは以下を行うことができます:

select
iif ( OpeningBalance>=0 And OpeningBalance<=500 , 20, 

                  iif ( OpeningBalance>=5001 And OpeningBalance<=10000 , 30, 

                       iif ( OpeningBalance>=10001 And OpeningBalance<=20000 , 40, 

50 ) ) ) as commission
from table
于 2013-04-02T20:55:48.040 に答える