このクエリ選択を行うには助けが必要です。
たとえば、次のフィールドがあります。
- idInvoice
- 日にち
- 額
日付に応じて、 x番号または他の数値のフィールド「金額」を乗算する必要があります。
たとえば、日付が2010年1月1日より少ない場合、20を掛けます。しかし、それがメジャーまたは35の乗算に等しい場合
Select idInvoice, date, amount, amount * varNumber from invoices
日付フィールドで Null が許可されていないと仮定すると、計算に IIf 式を使用できるはずです。
SELECT
idInvoice,
[date],
amount,
IIf([date] < #2010/01/01#, amount * 20, amount * 30) AS extended_amount
FROM invoices;
日付は Access の予約語であるため、日付フィールド名を角かっこで囲んでいることに注意してください。角かっこは、Date() 関数ではなく「date」という名前のフィールドが必要であることをデータベース エンジンに通知します。
また、Access の日付フィールドには時刻コンポーネントが含まれます。したがって、そのクエリは、今年の初めの午前 0 時より前の値に対して 20 倍になります。つまり、2010 年 1 月 1 日の午前 1:00 の場合、amount は 30 倍になります。それが望ましくない場合は、IIf 式を変更します。
[date] フィールドで Null が許可されている場合は、Access の Nz() 関数のヘルプを参照してください。
また
SELECT
idInvoice,
[date],
amount,
amount *IIf([date] < #2010/01/01#, 20, 30) AS extended_amount
FROM invoices;
Select idInvoice, date, amount,
amount * case when date<'20100101' then 20 else 35 end as amount from invoices