【发布时间】:2018-05-02 00:10:32
【问题描述】:
我编写了一个查询,我想在其中显示“客户编号”(CUSTOMER 表)、“发票数量”(INVOICE 表),即每个客户的总发票,以及“总 Cus 购买” (通过连接 CUSTOMER、INVOICE 和 LINE 表计算得出),这是属于每个客户的所有发票中所有购买的总和。
第一个查询输出错误的“发票数量”。
--First Query
SELECT CUSTOMER.CUST_NUM AS "Customer Number",
COUNT(INVOICE.INV_NUM) AS "Number of Invoices",
SUM(LINE.LINE_UNITS * LINE.LINE_PRICE) AS "Total Cus Purchases"
FROM CUSTOMER
JOIN INVOICE
ON CUSTOMER.CUST_NUM = INVOICE.CUST_NUM
JOIN LINE
ON INVOICE.INV_NUM = LINE.INV_NUMBER
GROUP BY CUSTOMER.CUST_NUM;
Customer Code Number of Invoices Total Cus Purchases
1000 5 188.72
1003 6 432.8
1001 3 34.92
1002 1 70.44
但是,第二个查询(在省略用于计算“总客户购买量”的 LINE 的连接语句时会注意到这一点)会输出正确的“发票数量”。
--Second Query
SELECT
CUSTOMER.CUST_NUM AS "Customer Number",
COUNT(INVOICE.INV_NUM) AS "Number of Invoices"
FROM INVOICE
JOIN CUSTOMER ON INVOICE.CUST_NUM = CUSTOMER.CUST_NUM
GROUP BY CUSTOMER.CUST_NUM;
Customer Code Number of Invoices
1000 3
1003 2
1001 2
1002 1
如何更正第一个查询,以便它吐出第二个查询中显示的值?
(注意:cus 采购总额是正确的,只是“发票数量”列错误。)
【问题讨论】:
-
如果这些答案之一解决了您的问题,您应该接受它,以便其他用户可以找到解决方案并关闭问题。如果他们没有,请提供更多信息以便回答问题。