Как суммировать сумму по кластерам и искать дополнительные значения - PullRequest
0 голосов
/ 10 января 2019

В настоящее время я изучаю SQL и имею следующую проблему, которая должна быть легко решаемой, но все же безуспешной: У меня есть две таблицы: транзакции и сайты. В таблице «Транзакции» находятся все записи моего заказа, а в таблице «Сайты» - информация о моих производственных сайтах. Теперь я хочу суммировать все продажи, сгруппированные по сайту, а затем показать таблицу, в которой вы видите различные сайты, продажи на сайт и адрес сайта. По некоторым причинам этот последний шаг не работает. В столбце «Адрес» отображаются только «нулевые» значения. Когда я выбираю полное внешнее объединение, оно показывает мне адрес, но не в соответствующей строке, а в последующих строках, где другие два столбца затем помечаются как пустые. Есть идеи?

 SELECT Transactions.Site, SUM(Transactions.Sales) AS [Sales_per_Site], 
 Sites.Adress
 From Transactions
 LEFT JOIN Sites ON Transactions.Site=Sites.Site
 Group by Transactions.Site, Sites.Adress
 ORDER BY Transactions.Site DESC

 Site   Sales     Adress
 5      16042772    NULL
 4      13163942    NULL
 3      14476761    NULL
 2      15912831    NULL
 1      13735548    NULL

1 Ответ

0 голосов
/ 10 января 2019

Когда я выбираю полное внешнее соединение, оно показывает мне адрес, но не показывает соответствующая строка, но в строках впоследствии, где два других столбцы помечаются как пустые.

Это почти наверняка означает, что ваши две таблицы не связаны друг с другом в столбцах, к которым вы присоединяетесь: Transactions.Site=Sites.Site

Если вы действительно видите сайты 1-5 в обеих таблицах, то, возможно, в столбцах есть пробелы или что-то еще, что фактически не позволяет двум сторонам быть равными.

...