2014-03-07 39 views
0

我試圖通過使用他們的version列獲取三個表中的數據。子查詢返回的值超過1。這是不允許的,當子查詢遵循=,!=,<, <= , >,> =

這裏是我的代碼:

INSERT INTO [dbo].tblCALPLA(ACCOUNT,DATASRC,VERSION) 

SELECT ACCOUNT,DATASRC,VERSION FROM [dbo].TBLFACT 
WHERE VERSION=(SELECT ID FROM [dbo].VERSION) 

UNION 

SELECT ACCOUNT,DATASRC,VERSION FROM [dbo].TBLFACT1 
WHERE VERSION=(SELECT ID FROM [dbo].VERSION) 

UNION 

SELECT ACCOUNT,DATASRC,VERSION FROM [dbo].TBLFACT2 
WHERE VERSION=(SELECT ID FROM [dbo].VERSION) 
+0

有在'[DBO]幾行。 VERSION';你可能需要在查詢中過濾掉不想要的,或者事先刪除它們(表名'Version'建議一個單例)。 –

回答

1

在所有有條件的地方,而不是

WHERE Version = (SELECT ID ...) 

化妝用的

WHERE Version IN (SELECT ID...) 
相關問題