2012-08-07 47 views
0

我想从两个表中选择一条记录。但是如果您使用的是SIMPLE JOIN,它只会在条件满足表格时才返回该值,当我们还使用LEFTRIGHT JOIN时,它将返回LEFTRIGHT表格中的所有值。用JOIN选择单个记录

我使用下面的查询,

SELECT * FROM activity_feeds LEFT OUTER JOIN activity_traders ON activity_feeds.feed_id = activity_traders.trdr_feed_id = '11'

我需要从两个表获取值只有当activity_feeds.feed_id = activity_traders.trdr_feed_id = '11'当值不正确的表匹配,它应该返回null的右表中的列。请帮忙!

编辑:表结构加入

订阅

enter image description here

商人

enter image description here

回答

0

我认为所有的记录从activity_feeds基于feed_id是否存在对activity_traders表,只要它会显示所有feed_id具有的11值。试试这个。

SELECT * 
FROM activity_feeds a 
      LEFT OUTER JOIN activity_traders b 
       ON a.feed_id = b.trdr_feed_id 
WHERE a.feed_id = '11' 
+0

太棒了!它的工作原理是... – Stranger 2012-08-07 04:34:06

+0

欢迎你的朋友:) – 2012-08-07 04:46:37

0
ON activity_feeds.feed_id = activity_traders.trdr_feed_id 
WHERE activity_traders.trdr_feed_id = '11' 
+0

你可以请正确的完整查询吗? – Stranger 2012-08-07 04:20:55

1
SELECT * FROM activity_feeds LEFT OUTER JOIN activity_traders ON activity_feeds.feed_id = 
activity_traders.trdr_feed_id where activity_traders.trdr_feed_id = '11' 
+0

它没有返回任何值。它没有工作:( – Stranger 2012-08-07 04:25:56

+0

再次检查我的答案 – 2012-08-07 04:28:40

+0

不,它没有工作,你可以检查上面的表格结构 – Stranger 2012-08-07 04:32:41