次のクエリを使用して重複を見つけました。
SELECT userID,
COUNT(userID) AS NumOccurrences
FROM userDepartments
GROUP BY userID
HAVING ( COUNT(userID) > 1 )
次に、内部結合を追加して、一致するユーザー名が別のテーブルに格納されていることを確認できるようにしました。
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 )
しかし、users.firstnameが何らかの集計関数などの一部ではないというエラーが表示されました...
カウントを取得し、複数の部門を持つユーザーのみを表示し、他のテーブルから姓名を取得して、複数の部門が割り当てられているユーザー名のリストを取得する方法を知っている人はいますか?
編集:これは私のために働くことになった質問です...
SELECT firstname, lastname
FROM tbl_users
WHERE (userID IN
(SELECT userID
FROM tbl_usersDepts
GROUP BY userID
HAVING (COUNT(userID) > 1)))