내 문제는 다음과 같습니다. 특정 "user_id"가 포함되지 않은 "groups"테이블에서 값을 선택해야합니다."* username *"이 아닌 값 선택
SELECT DISTINCT group.active, hide_group.user_id, group.group_id, hide_group.hide, group.desc AS group_desc
FROM group
LEFT JOIN hide_group ON hide_group.group_id = group.group_id
WHERE (
hide_group.user_id != 'testuser'
OR hide_group.user_id IS NULL
AND (
hide != 'true'
OR hide IS NULL
)
)
AND active =1
ORDER BY `group`.`group_id` ASC
LIMIT 0 , 500
을하지만 지금 우리는 내 'group_hide'테이블에 그러한 기록이 있다고 할 수 있습니다 : 그래서이 실행 그래서 지금은 내 쿼리를 수행 할 때
[group_hide]
(user_id, group_id, hide)
john, ABC, true;
joe, ZZZ, true;
mark, ABC, true;
를, 마크는 여전히 때문에 ABC 그룹을 본다 조건은 true이고 user_id = john이기 때문에 유효합니다. 따라서 표식으로 숨겨져 있어도 ABC 값을 취합니다. 이 쿼리를 여러 번 변경하려고 시도했지만이 간단한 문제를 파악할 수 없습니다.
또한보십시오 [이 질문에] (http://stackoverflow.com/questions/5353532/combining-sum- 그룹 별 및 좌회전 - 반환 - 부정확 한 결과 - 수정 방법/5354267 # 5354267) – jswolf19