2012-12-20 70 views
0

我从DB2迁移SQL代码,SQL Server 2012的工作,我是新来的SQL Server和停留在这个DB2查询:迁移SQL查询到SQL Server

select * from schema.tablename1 t1 
where (t1.column1,t1.column2) 
in 
(select t2.column1,t2.column2 from 
schema.tablename2 t2) 

我们如何能做到在SQL Server中是一样的吗?

+0

有没有试图迁移查询您所遇到的错误这个半加入?请提供这些信息。 –

+1

@NickRoth - SQL Server不支持带'IN'的元组/行构造函数。你只能做'WHERE col1 IN(SELECT some_col ...)'不是多列。 –

回答

1

可以重写使用EXISTS

SELECT * 
FROM schema.tablename1 t1 
WHERE EXISTS (SELECT * 
       FROM schema.tablename2 t2 
       WHERE t1.column1 = t2.column1 
         AND t1.column2 = t2.column2)