Возникли проблемы при объединении 2 таблиц в Oracle SQL Server в запросе - PullRequest
0 голосов
/ 26 октября 2018

У меня есть две таблицы, LGINVOICE и LGCUSTOMER, которые имеют следующие столбцы:

  • LGINVOICE: INV_NUM, INV_DATE, CUST_CODE, INV_TOTAL, EMPLOYEE_ID

  • LGCUSTOMER: CUST_CODE, CUST_FNAME, CUSTLNAME, CUST_BALANCE

У меня такой вопрос, мне нужно показать код клиента, имя, фамилию и сумму всех итоговых счетов для клиентов с общей суммой счетов-фактур более 1500 долларов США и отсортировать выходные данные по сумме итоговых сумм счета-фактуры. в порядке убывания.

У меня есть сортировка и что-то еще (как показано в приведенном ниже коде 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 в правильном порядке. Я просто не знаю, как правильно присоединиться к таблице клиентов, чтобы отображались столбцы имени и фамилии.

1 Ответ

0 голосов
/ 26 октября 2018

Вы бы использовали 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...