我有两个表,follow
和followed
。我想获得follow
表中的所有行,例如follow.screen != followed.following_screen_name
。两个表之间的MySQL表比较
后续表
ID screen_name
-----------------
1 eddie
2 jason
3 omar
4 jonathan
5 jack
其次表
ID my_screen_name following_screen_name
-------------------------------------------
1 john eddie
2 kenny eddie
3 kenny omar
4 john jason
5 john omar
查询我试过,没有工作
SELECT follow.screen_name from follow, followed where followed.my_screen_name='john'
AND follow.screen_name != followed.following_screen_name
预期结果
ID screen_name
-----------------
1 jonathan
2 jack
+1。 “外连接”查询的WHERE子句中的谓词使其成为“反连接”模式......来自'F'的所有行以及来自'D'的匹配行,然后排除所有具有匹配的行。 (Kudos指出有多种模式返回指定的结果集。) – spencer7593 2014-10-05 22:55:15
@JohnDoe,你需要用John替换F.screen_name作为第一个条件,并用AND替换OR。这里是sql小提琴。 http://www.sqlfiddle.com/#!2/7ef0a/5 – radar 2014-10-06 00:02:20
谢谢你,我爱你兄弟! – 2014-10-06 00:02:42