此JET Sql查询的帮助

此JET Sql查询的帮助,sql,ms-access,select,jet,Sql,Ms Access,Select,Jet,我需要帮助来执行此查询选择 例如,我有以下字段: 单音 日期 数量 根据我需要的日期,将字段数量乘以x数字或其他数字 例如,如果日期小于2010年1月1日,则乘以20。但如果它是主调或等于35乘以 Select idInvoice, date, amount, amount * varNumber from invoices 假设您的日期字段不允许空值,您应该能够使用IIf表达式进行计算 SELECT idInvoice, [date], amount, IIf

我需要帮助来执行此查询选择

例如,我有以下字段:

单音 日期 数量 根据我需要的日期,将字段数量乘以x数字或其他数字

例如,如果日期小于2010年1月1日,则乘以20。但如果它是主调或等于35乘以

Select idInvoice, date, amount, amount * varNumber from invoices

假设您的日期字段不允许空值,您应该能够使用IIf表达式进行计算

SELECT
    idInvoice,
    [date],
    amount,
    IIf([date] < #2010/01/01#, amount * 20, amount * 30) AS extended_amount
FROM invoices;
注意,我将日期字段名括在方括号中,因为日期是Access中的保留字。方括号表示数据库引擎需要一个名为date的字段,而不是date函数

此外,访问日期字段还包括时间组件。因此,对于今年年初午夜之前的任何值,该查询都会将金额乘以20。这意味着2010年1月1日凌晨1:00,金额将乘以30。如果这不是您想要的,请更改IIf表达式

如果[date]字段允许空值,请查看新西兰函数的Access帮助。

SELECT 
    idInvoice, 
    [date], 
    amount, 
    amount *IIf([date] < #2010/01/01#, 20, 30) AS extended_amount 
FROM invoices; 

已解决:是否可以这样做?回答您自己的问题被认为是可以接受的。如果你已经解决了这个问题,你可以考虑提交你的答案作为答案。但是我怎样才能把我的答案提交给答案呢?只有我可以编辑标题。我正在使用.net jet sql的访问权限。如果运行CASE显示语法errorJet/ACE,则SQL中没有CASE语句。
SELECT 
    idInvoice, 
    [date], 
    amount, 
    amount *IIf([date] < #2010/01/01#, 20, 30) AS extended_amount 
FROM invoices;