합리적으로 복잡한 (나에게) 쿼리에 문제가 있습니다. 각 조각은 작동하지만 오류가 발생하지 않지만 반환해야하는 것을 반환하지 않습니다.mysql 권한이없는 (선택)
table_c = things to belong to
table_s = users that belong to things in table_c
table_u = users
그리고 쿼리는 다음과 같습니다
내가 table_c에 table_c의 카운티/주/국가가 일치하는 경우 "에 속하는 것들"모두를 선택하기 만하면 무엇SELECT * FROM table_c AS C
RIGHT JOIN table_u AS U ON C.userid = U.user_id
WHERE C.userid='xxx'
AND C.c_county IN (11, 00)
AND C.c_state IN (12, 00)
AND C.c_nation='US'
AND C.c_privacy='0'
AND C.userid NOT IN (
SELECT userid FROM table_s AS S WHERE S.channel_id = C.id)
ORDER BY U.security, C.chan_name
사용자 카운티/주/table_u 또는 "things to be things"의 국가 설정은 00 (위치 없음)이고 userid는 table_s에 아직 없습니다.
상태 # 12의 county # 11에있는 table_c에 놀이터를 만들고 카운티 # 11과 상태 # 12의 사용자는 자신이 속할 수있는 모든 것을 찾고 싶습니다. 그래서 쿼리가 내 놀이터를 반환해야합니다.
이것은 어디서나 C.userid = 'xxx'의 사용자 ID가 놀이터를 만든 사람에게 속한 경우에만 작동합니다.
내가 원하는 것은 사용자가 속해있는 항목을 만든 다음 다른 사용자가 그 항목에 참여하게하는 것입니다. 그래서 userid = 'xxx'부분이 올바르지 않고 그 항목을 쓰는 방법을 모르겠습니다.
진흙처럼 명확하거나 명확합니까?
테이블 스키마 정의가 있습니까? – dispake
http://sqlfiddle.com/ 사용하면 더 쉽게 될 것입니다. – jcho360