在 MS Access 2010 中,我成功编写了一个查询,该查询从两个单独的表中为我提供了以下字段:[客户 ID]、[产品]、[价格]、[总价格] 和 [付款方式] 客户可以订购不同的产品或使用不同的付款方式。现在,我正在尝试有一个计算字段,该字段将仅给出每个客户在线支付的产品的总数/总和。
网上的[付款方式]代码是“D”。我将代码生成器表达式与以下表达式一起使用:
1) Sum(IIf([客户 ID] = [客户 ID] AND [付款方式] = "D", [价格], NULL))
但是,它一直给我这个错误消息:您尝试执行一个查询,该查询不包含指定表达式“客户 ID”作为聚合函数的一部分。
如果我想在 SQL(或表达式生成器)中执行此操作,我将如何执行?到目前为止,我尝试过的所有事情都会导致我收到相同的错误消息。
编辑
我的完整查询是:
SELECT CUSTOMER_INFO.ID AS [Customer ID],
CUSTOMER_INFO.PROD_KEY AS [Product],
CUSTOMER_INFO.PROD_PRICE AS [Price],
CUSTOMER_INFO.SUM_PRICE AS [Total Price],
PAYMENT_TRANZAK.PAY_METHD,
Sum(IIf([Customer ID]=[Customer ID] And [PAY_MTHD]="D",[Price],[IsNull])) AS [Online Total]
FROM CUSTOMER_INFO INNER JOIN PAYMENT_TRANZAK ON (CUSTOMER_INFO.PROD_KEY= PAYMENT_TRANZAK.SSBSECT_CRN) AND (CUSTOMER_INFO.TERM_CODE_KEY = PAYMENT_TRANZAK.DATE_CODE)
WHERE (
((CUSTOMER_INFO.SUM_PRICE)>0) AND ((PAYMENT_TRANZAK.PAY_METHD) Is Not Null) AND ((CUSTOMER_INFO.CUST_CODE)="RE" Or (CUSTOMER_INFO.CUST_CODE)="RW") AND ((CUSTOMER_INFO.DATE_CODE)=[Please enter a transaction date: ]) AND ((CUSTOMER_INFO.ESTS_CODE)="EL") AND ((CUSTOMER_INFO.STST_CODE)="AS")
)
ORDER BY CUSTOMER_INFO.ID;