내가 무엇을 가지고 :MySQL : 단 하나의 행을 가진 사용자 만 잡으시겠습니까?
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 2,3,4 .. 아닙니다.
@ Lukas Eder는 매력처럼 작동했습니다! 왜 당신은 당신의 대답을 제거 했습니까? 또한 지정된 두 가지 역할을 가진 사용자 만 포함시키고 싶은지 알고 있습니까? 예 IN (1, 4)? 그런 다음 사용자가 2,4가 있는지 보여줘야합니다 (쿼리와 일치하는 쿼리가 4 건으로 인해 합법적이라고 생각하기 때문에) – Karem
최상의 성능 솔루션이 아니라 MySQL과 관련하여 매우 만족 스럽습니다. 1 열씩, 모든 열을 선택). 그러나 삭제를 해봅시다. 나는 IN (1, 4)'을 다루는 방법을 제안했습니다. –