0

我遇到了(对我而言)相当复杂的查询问题。每个单独的部分都有效,它不会产生错误,但它不会返回它应该返回的内容。

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' 部分是不正确的,我不知道如何写它......

这是清澈的还是像泥一样清澈的?

4

1 回答 1

0

答案是完全删除连接......因为我已经有了建立县/州/国家所需的用户信息,所以我还有其他一切,所以不需要加入......

感谢您的额外眼睛!

于 2012-06-07T18:02:03.280 回答