2012-12-20 107 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)