Met*_*uru 0 sql inner-join count
我使用以下查询来查找重复项:
SELECT userID,
COUNT(userID) AS NumOccurrences
FROM userDepartments
GROUP BY userID
HAVING ( COUNT(userID) > 1 )
Run Code Online (Sandbox Code Playgroud)
然后我尝试添加内部联接,以便我可以看到匹配的用户名,这些用户名存储在不同的表中.
SELECT userDepartments.userID, users.firstname, users.lastname,
COUNT(userID) AS NumOccurrences
FROM userDepartments INNER JOIN users ON userDepartments.userID = users.userID
GROUP BY userID
HAVING ( COUNT(userID) > 1 )
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误,说users.firstname不是某些聚合函数或其他东西的一部分......
有谁知道我如何获得计数,只显示超过1个部门的用户,并从另一个表中获取名字和姓氏,以便我可以获得分配了多个部门的用户名列表?
编辑:这就是为我工作的最终......
SELECT firstname, lastname
FROM tbl_users
WHERE (userID IN
(SELECT userID
FROM tbl_usersDepts
GROUP BY userID
HAVING (COUNT(userID) > 1)))
Run Code Online (Sandbox Code Playgroud)
我会稍微重新排列查询....
SELECT
duplicates.NumOccurrences,
duplicates.userID,
users.firstname,
users.lastname
FROM (
SELECT
userID,
COUNT(userID) AS NumOccurrences
FROM userDepartments
GROUP BY userID
HAVING COUNT(userID) > 1
) duplicates
INNER JOIN users ON duplicates.userID = users.userID
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1033 次 |
最近记录: |