1

晚上好。

我正在尝试创建一个查询平均每个产品购买与。获得平均购买金额的购买次数。

这包括三个表:

  1. 顾客
  2. 发票
  3. 线

我写了这个:

SELECT CUSTOMER.CUS_CODE, CUS_FNAME+" "+CUS_LNAME AS Name, CUSTOMER.CUS_BALANCE,    
Sum([LINE]![LINE_NUMBER]*[LINE]![LINE_PRICE]) AS Total_purchases,  
Count(INVOICE.INV_NUMBER) AS Number_of_purchases, 

(
SELECT [Sum([LINE]![LINE_NUMBER]*[LINE]![LINE_PRICE]) /   
[Count(INVOICE.INV_NUMBER)]
FROM INVOICE, LINE
WHERE INVOICE.INV_NUMBER = LINE.INV_NUMBER
) AS Average_purchase_amount

FROM CUSTOMER, INVOICE, LINE
WHERE CUSTOMER.CUS_CODE = INVOICE.CUS_CODE AND INVOICE.INV_NUMBER = LINE.INV_NUMBER 
GROUP BY CUSTOMER.CUS_CODE, CUS_FNAME+" "+CUS_LNAME, CUSTOMER.CUS_BALANCE;

我在第二个 SELECT 时遇到错误。我不确定为什么。我觉得我错过了一些非常简单的东西。

实际错误如下:

  • “查询表达式中的语法错误 '( SELECT [Sum([LINE]![LINE_NUMBER]*[LINE]![LINE_PRICE]) / [Count(INVOICE.INV_NUMBER)]。'”

从错误中,我假设在我的表达中某处事情没有排列,但我想我对正在发生的事情了解不够,无法知道它到底是什么。

4

1 回答 1

1

有不平衡的括号。每一个都应该放在括号中或整个等式中:

SELECT [Sum([LINE]![LINE_NUMBER]*[LINE]![LINE_PRICE])] / [Count(INVOICE.INV_NUMBER)]

- 或者 -

SELECT [Sum([LINE]![LINE_NUMBER]*[LINE]![LINE_PRICE]) /  Count(INVOICE.INV_NUMBER)]

尝试加入你的表。像这样的东西:

FROM INVOICE
    INNER JOIN CUSTOMER ON CUSTOMER.CUS_CODE = INVOICE.CUS_CODE
    INNER JOIN LINE ON LINE.INV_NUMBER =INVOICE.INV_NUMBER
于 2013-11-10T02:39:51.867 回答