【问题标题】:Having trouble joining 2 tables in Oracle SQL Server in query在查询中加入 Oracle SQL Server 中的 2 个表时遇到问题
【发布时间】:2018-10-26 01:03:13
【问题描述】:

我有两个表,LGINVOICELGCUSTOMER,它们具有以下列:

  • 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_CODETOTALINVOICE 输出。我只是不知道如何正确加入客户表以允许显示名字和姓氏列。

【问题讨论】:

    标签: sql oracle join


    【解决方案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;
    

    【讨论】:

    • 哇反应快。这是正确的答案。到了规定的时间就会做标记!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 2022-11-11
    • 2023-03-28
    相关资源
    最近更新 更多