sql查找不匹配的记录

时间:2012-06-17 04:12:40

标签: sql-server-2008

两张桌子。 我在两个表中都有列a(日期时间类型)和列b(数字类型)。 我想在两个表中搜索列a并且只获取不匹配的列。 然后仅显示没有匹配的日期时间列a的列a和b。

    Select Column b from Table 1 
    left join Table 2
    where Table1.Column a <> Table2.Column a

这是正确的吗?

2 个答案:

答案 0 :(得分:2)

您可以使用@drjay或NOT IN子句指示的左连接。我个人更喜欢NOT,因为它更容易阅读。

SELECT [Column b] 
FROM [Table 1]
WHERE [Column a] NOT IN (
    SELECT [Column a]
    FROM [Table 2]
)

答案 1 :(得分:1)

你很亲密。不确定确切的语法,因为我没有SQL Server。但在MySQL中它是:

SELECT * 
FROM table_1 t1 
LEFT OUTER JOIN table_2 t2 ON t1.date = t2.date 
WHERE t1.date <> t2.date;

你的问题的逻辑应该是相似的。如有必要,只需更改语法即可。