SELECT DISTINCT addresses.email FROM addresses
WHERE addresses.user_id IN (SELECT user_group.id_user_groups FROM user_group
WHERE id_group_groups IN (SELECT news_group.groupid_newsg FROM news_group
WHERE newsid_news_good=1))
上述sql查询未执行!它会被吊死,直到我停止查询。我在第一个SELECT语句后尝试过SQL运算符“UNION”,但它显示了所有不属于一个组的电子邮件地址。我只想选择属于“id_group_groups = 5”的用户的电子邮件地址(请参阅下面的查询)并订阅“newsid_news_good = 1”来自多个表的SQL IN查询
以下查询运行得非常好!
SELECT DISTINCT addresses.email FROM addresses
WHERE addresses.user_id IN (SELECT user_group.id_user_groups FROM user_group
WHERE id_group_groups =5)
任何机构都有一个想法第一个查询有什么问题。帮助将非常感谢!谢谢。
你的意思是他们是这样嵌套的吗?这里的问题是嵌套的子查询需要为'user_group'中的每一行计算一次,而这又需要为'addresses'中的每一行计算一次。 –
请改用'JOIN'来代替。 – cjk
是的,我想执行该查询,语法是否正确?因为其他查询完全正确,因为我已检查结果。我已经尝试过JOIN,但是我不知道如何为2个以上的表写JOIN。 JOIN只与2个表一起工作吗? – user142397