0

这是我的两张桌子feedstraders。现在我想从两个表中选择feed_idfeeds不在表中trdr_feed_id的行traders。这是两个表的结构。

饲料

在此处输入图像描述

交易员

在此处输入图像描述

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

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

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

在此处输入图像描述

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

4

3 回答 3

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;
于 2012-08-06T13:06:20.620 回答
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
于 2012-08-06T13:06:24.607 回答
1
SELECT * FROM feeds 
LEFT JOIN traders 
ON feeds.feed_id = traders.trdr_feed_id    
WHERE trdr_id IS NULL
于 2012-08-06T13:06:41.587 回答