首页 文章

加入表以获得null值结果

提问于
浏览
0

这是我的两个表 feedstraders . 现在我想从两个表中选择 feeds 表的 feed_id 不在 trdr_feed_idtraders 表中的行 . 这是两个表的结构 .

Feeds

enter image description here

Traders

enter image description here

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

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

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

enter image description here

任何有关这方面的帮助将不胜感激 .

3 回答

  • 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
    
  • 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
    SELECT * FROM feeds 
    LEFT JOIN traders 
    ON feeds.feed_id = traders.trdr_feed_id    
    WHERE trdr_id IS NULL
    

相关问题