加入表以获得null值结果

时间:2012-08-06 13:03:34

标签: mysql

这是我的两张表feedstraders。现在我想从两个表中选择feed_id feeds表不在trdr_feed_id traders表中的行。这是两个表格的结构。

订阅

enter image description here

商人

enter image description here

这是我正在使用的连接查询。

SELECT * FROM feeds LEFT JOIN traders ON feeds.feed_id = traders.trdr_feed_id

这是我得到的输出。我需要的是,只有具有空值的行。但请注意,应使用值null保留具有空值的列。

enter image description here

对此的任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

我认为这就是你要找的东西:

SELECT * 
FROM feeds 
     LEFT JOIN traders 
         ON IFNULL(feeds.feed_id, 0) = IFNULL(traders.trdr_feed_id, 0)
WHERE traders.trdr_feed_id IS NULL;

答案 1 :(得分:1)

在没有JOIN

的情况下尝试此操作
SELECT  Feed_ID
FROM    Feeds
WHERE   Feed_ID NOT IN
        (
            SELECT trdr_feed_id
            FROM    Traders
        )

或者这个:

SELECT * 
FROM   Feeds a
          LEFT JOIN Traders b
              ON a.Feed_ID = b.trdr_feed_id
WHERE a.trdr_id IS NULL

答案 2 :(得分:1)

SELECT * FROM feeds 
LEFT JOIN traders 
ON feeds.feed_id = traders.trdr_feed_id    
WHERE trdr_id IS NULL