【发布时间】:2017-07-27 18:01:08
【问题描述】:
我遇到了 GROUP BY 函数的问题。我尝试将 DISTINCT 函数用于我的目的,但我的所有搜索都让我尝试使用 GROUP BY 函数。
我有 3 张桌子。 Tbl1 和 Tbl2 具有相同的列。 Tbl 3 有不同的列,但我实际上是在尝试将所有 3 个表连接在一起,这个查询可以正确执行。
但是,我希望结果集排除其中一列 Tbl3.A 中的重复项
我收到错误:选择列表中的“DB1.dbo.Tbl2.C”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
这是完整的查询:
SELECT Tbl3.A, Tbl1.C, Tbl1.B
FROM DB1.dbo.Tbl1
LEFT JOIN
DB2.dbo.Tbl3 ON Tbl1.B = Tbl3.A
WHERE ….
UNION
SELECT Tbl3.A, Tbl2.C, Tbl2.B
FROM DB1.dbo.Tbl2
LEFT JOIN
DB2.dbo.Tbl3 ON Tbl2.B = Tbl3.A
WHERE …..
GROUP BY Tbl3.A
【问题讨论】:
-
使用您正在使用的数据库进行标记。
-
如果要按 Tbl3.A 分组,则必须聚合列 Tbl1.C 和 Tbl1.B。
标签: sql