필자가 시도하는 것은 fid = 13 또는 모든 값을 profile_values에 설정하지 않은 모든 사용자를 얻는 것입니다. 나는 이것이 쉬운 해결책을 가지고 있다고 생각하지만, 나는 그것을 보지 못한다. 어떤 도움이나 옳은 방향의 요점은 크게 감사드립니다.MySQL 쿼리 - 선택 도움말
(표 사용자와 profile_values 모두 드루팔에서입니다.)
간체 값 :
uid name fid value
1 user1 1 foo
1 user1 2 foo
2 user2 12
2 user2 13 1265662514
3 user3 NULL NULL
4 user4 NULL NULL
나는 노력했다 :
SELECT u.uid, u.name, pv.fid, pv.value
FROM users u
LEFT JOIN profile_values pv ON pv.uid = u.uid
WHERE u.status != 0
AND (pv.fid != 13 OR pv.fid IS NULL)
GROUP BY u.uid
uid name fid value
1 user1 1 foo
2 user2 12 foo
3 user3 NULL NULL
4 user4 NULL NULL
내 문제는 사용자 2 인 안 fid = 13에 값이 있기 때문에 거기에있어.
신뢰할 수있는 빠르고 신뢰할 수있는 답변 주셔서 감사합니다.
이것은 작동하지 않습니다. 아래의 내 앤서니 토론에 대해 살펴보십시오 – zerkms
사실, 이것은 OR (pv.fid = 13 AND pv.value = '')와 결합하여 작동하는 것 같습니다 ... 내가 뭔가를 간과하지 않는 한 – Borgenk
@Borgenk : 왜 내 것이 아닌가요? ;-)이 제안서를 살펴 보았습니까? ;-) – zerkms