かなり複雑な(私にとって)クエリで問題が発生しています。個々のピースはそれぞれ機能し、エラーは発生しませんが、返すべきものは返されません。
table_c = things to belong to
table_s = users that belong to things in table_c
table_u = users
そして、クエリは次のとおりです。
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_cのすべての「所属するもの」を選択することです。ここで、table_cの郡/州/国はtable_uのユーザーの郡/州/国の設定と一致するか、「所属するもの」は00(場所はありません)です。また、ユーザーIDがまだtable_sにない場合。
州#12の郡#11にあるtable_cに遊び場を作成しました。郡#11と州#12のユーザーは、自分が属することができるすべてのものを見つけたいので、クエリを実行すると私の遊び場が返されます。
これは、WHERE C.userid='xxx'のユーザーIDがプレイグラウンドを作成した人に属している場合にのみ機能します。
私が欲しいのは、ユーザーが所属するものを作成し、他の人がその何かに参加できるようにすることです。そのため、WHERE userid ='xxx'の部分は正しくなく、書き方がわかりません...
これは透明ですか、それとも泥のように透明ですか?