【发布时间】:2013-06-01 06:35:16
【问题描述】:
我有 2 个表,Table1 和 Table2,两个表中的 2 列是相同的
更新:Table1.col1 的类型与 Table2.col1 相同,Table1.col2 与 Table2.col2 相同
尝试获取 table1.col1 不在 table2.col1 和 table1.col2 不在 table2.col2 中的数据,这是我的查询。
select * from Table1
where Table1.col1 not in (select Table2.col1 from Table2)
and Table1.col2 not in (select Table2.col2 from Table2)
想知道更好的方法还是这样正确?
【问题讨论】:
-
由于表格是相同的,您不需要将条件放在两列上,您只需要一个
-
@ArturUdod 它行不通……除了匹配值之外,这将为您提供笛卡尔积,也许您想说
LEFT JOIN和WHERE col1 IS NULL -
@Stephan 除了两列之外,这两个表都非常不同。
-
我明白了,但是 table1 中的组合 (col1,col2) 与 table2 相同?
-
@Stephan,是的,我错了
标签: sql sql-server sql-server-2008 tsql join