私は、すべてが異なる可能性のある複数の列を持つテーブル(参加者)を持っています。このクエリで特に重要な2つの列は、userIDとprogramIDです。ここでは2つの部分からなるクエリがあります。
- このテーブルに複数回表示されるすべてのユーザーIDのリストを取得できるようにしたい。どうすればそれを行うことができますか?
複数のprogramIDに同じuserIDが含まれているすべてのprogramIDの数を取得できるようにしたい。(IE 2つのプログラムに同じuserIDが表示されるプログラムの数、3つのプログラムに同じUSErIDが表示されるプログラムの数など...)例:
programID: prog1 userID: uid1 userID: uid3 userID: uid12 programID: prog2 userID: uid3 userID: uid5 userID: uid14 userID: uid27 programID: prog3 userID: uid3 userID: uid7 userID: uid14 userID: uid30 programID: prog4 userID: uid1
期待される結果:userID count = 2; プログラム=3userIDカウント=3; プログラム=3
誰かがこれを手伝ってくれませんか。
質問1の現在のコードは次のとおりです。
SELECT
WPP.USERID,
WPI.EMAIL,
WPI.FIRSTNAME,
WPI.LASTNAME,
WPI.INSTITUTION
FROM WEBPROGRAMPARTICIPANTS WPP
INNER JOIN WEBPERSONALINFO WPI
ON WPP.USERID = WPI.USERID
INNER JOIN WEBPROGRAMS WP
ON WPP.PROGRAMCODE = WP.PROGRAMCODE
WHERE
WP.PROGRAMTYPE IN ('1','2','3','4','5','6', '9', '10')
GROUP BY
WPP.USERID,
WPI.EMAIL,
WPI.FIRSTNAME,
WPI.LASTNAME,
WPI.INSTITUTION
HAVING COUNT(WPP.USERID) > 1
ORDER BY WPI.EMAIL