【发布时间】:2019-01-29 23:23:27
【问题描述】:
我有一个正在运行的 SQL 查询,但我需要再添加一列。此列位于不同的表上,我不知道如何将它们放在一起。
这是有效的代码...它选择与另一个用户共享名字和姓氏的所有活动用户(我们正在寻找重复)
SELECT UserTable.LastName,
UserTable.FirstName
FROM UserTable
INNER JOIN InfoTable
ON InfoTable.ID=UserTable.ID
WHERE InfoTable.Number > 2500 and Infotable.Inactive = 0
GROUP BY FirstName,
LastName
HAVING COUNT(*) > 1;
我需要做的是修改此代码,以便我可以显示位于 InfoTable 上的列 NUMBER,但是我不想在 GROUP BY 中包含 NUMBER,因为 NUMBER 始终是唯一的,所以它不会返回任何结果。
【问题讨论】:
-
“因为 NUMBER 永远是唯一的”是什么意思
-
列的名称是 NUMBER。每个用户在该列中都有一个唯一值,因此它不能包含在 GROUP BY 中。
-
如果 NUMBER 始终是唯一的,您可以将其添加到您的
GROUP BYstatement 中而不会产生任何负面结果。当然你也可以在SELECT语句中使用MIN(NUMBER)或MAX(NUMBER) -
@schlonzo - 当我添加 NUMBER 时,我没有收到任何结果。
标签: sql sql-server group-by multiple-columns