我有一个名为“评论”的表,其中包含用户名,评论和评论组,即
Thomas "Hello" Group1
John "A Comment" Group1
Bill "Another Comment" Group2
Thomas "etc" Group3
一个名为“Groups”的表,其中包含组名,并且该组是该组的一部分。即。
Group1 Thomas
Group2 Bill
Group3 Thomas
Group3 John
所以托马斯在一起是第1组和第3组的一部分我将得到:
$sql = mysql_query("SELECT * FROM Groups WHERE username = $username");
这样($ sql)保存[group1]和[group3]。我想从“评论”中选择所有内容,其中group =在上述查询(1或3)中找到的任何组。
所以它会是:
SELECT * FROM Comments WHERE group = (SELECT group FROM Groups WHERE username = $username);
但我很确定你不能这样做:P我已经研究过UNION和JOIN,但我认为这些不是我想要的吗?
我希望这是有道理的。谢谢你的帮助。
答案 0 :(得分:0)
使用IN()
代替=
SELECT * FROM Comments
WHERE `group` IN (SELECT `group` FROM Groups WHERE username = '$username')
答案 1 :(得分:0)
您可以使用加入
SELECT c.* FROM Comments c
JOIN Groups g ON (c.username = g.username )
WHERE g.username = '$username'