【发布时间】:2019-01-10 15:49:12
【问题描述】:
我目前正在学习SQL,遇到如下问题,应该很容易解决,但还是没有成功: 我有两个表:事务和站点。在 Transactions 表中是我的所有订单条目,在 Sites 表中是有关我的生产站点的信息。我现在想汇总站点聚集的所有销售额,然后显示一个表格,您可以在其中看到不同站点、每个站点的销售额和站点的地址。由于某种原因,最后一步不起作用。它只在地址列中显示“空”值。当我选择完全外连接时,它会显示地址,但不是在相应的行中,而是在之后的行中,然后其他两列被标记为 Null。 有什么想法吗?
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
【问题讨论】:
-
编辑问题添加一些示例数据和所需的结果会有所帮助。
-
您确定 Sites.Adress 不为空吗?
-
它也可以是你离开时的加入。您确定两个表中的站点相同吗?
-
嗨!是的,地址栏中每五个站点就有一个值。期望的结果是实际的地址而不是“NULL”
-
是的,都是一样的,从 1 到 5 的站点在事务表和站点表中,都在站点列中
标签: sql sql-server join group-by left-join