我有两个表LGINVOICE
和LGCUSTOMER
,这些表具有以下列:
LGINVOICE
:INV_NUM,INV_DATE,CUST_CODE,INV_TOTAL,EMPLOYEE_ID
LGCUSTOMER
:CUST_CODE,CUST_FNAME,CUSTLNAME,CUST_BALANCE
我的问题是,我需要显示客户代码,名字,姓氏,以及累计发票总额大于$ 1,500的客户的所有发票总额的总和,并按发票总和对输出进行排序降序排列。
我已经完成排序和未完成的工作(如下面的SQL代码所示),但是在使名字和姓氏显示在查询结果中所需的联接方面遇到了麻烦。我对SQL还是很陌生,希望能提供帮助!
我的查询:
SELECT CUST_CODE, SUM(INV_TOTAL) AS TOTALINVOICE
FROM LGINVOICE
GROUP BY CUST_CODE
HAVING SUM(INV_TOTAL) > 1500
ORDER BY TOTALINVOICE DESC;
当前,它以正确的顺序输出正确的CUST_CODE
和TOTALINVOICE
。我只是不知道如何正确地联接客户表以允许显示名字和姓氏列。
答案 0 :(得分:1)
您将使用JOIN
。一种方法在聚合之前执行JOIN
:
SELECT c.CUST_FNAME, c.CUSTLNAME, i.CUST_CODE, SUM(i.INV_TOTAL) AS TOTALINVOICE
FROM LGINVOICE i JOIN
LGCUSTOMER c
ON c.CUST_CODE = i.CUST_CODE
GROUP BY c.CUST_FNAME, c.CUSTLNAME, i.CUST_CODE
HAVING SUM(i.INV_TOTAL) > 1500
ORDER BY TOTALINVOICE DESC;