は私が持っているものです:MySQL:1つの行だけを持っているユーザーだけを掴んでいますか?
SELECT users.*
FROM users INNER JOIN roles_users ON users.id = roles_users.user_id
WHERE roles_users.role_id IN (1)
GROUP BY users.id
HAVING COUNT(*) = 1
私はROLE_IDで、一列のみを持っているすべてのユーザーをつかむしたい
上記のクエリは、ROLE_ID 1と行を持つすべてのユーザーをつかむ1.
それで、例えば、role_id 2、role_id 3の行が多い人も表示されます。
どのように私はどこで行うことができますroles_users.role_id IN(1)AND NOT 2,3,4 ..何か?
@ Lukas Ederは魅力的に機能しました!なぜあなたはあなたの答えを削除しましたか?また、指定した2つの役割を持つユーザーのみを含めるかどうかもわかりますか?例IN(1,4)?それで、ユーザーには2,4が表示されるべきではありません(クエリに4つのクエリが合法だと思うので) – Karem
このSQLは、最高のパフォーマンスを発揮するソリューションではないと感じています。 1列分、すべての列を選択します)。しかし、元に戻してみましょう...私は 'IN(1、4)'を扱う方法を提案しました。 –