2013-07-30 120 views
0

我想兩個表的結果結合起來,因爲當我單獨做,我得到的空值的結果的SQL Server連接兩個表

這是我的代碼有

DECLARE @origSiteID int = 836, 
    @NewSiteID int = 838 


SELECT tblControls_Rooms.ID, @origSiteID 
FROM tblControls_Rooms 
WHERE SiteID = @OrigSiteID 

SELECT tblControls_Rooms.ID, @NewSiteID 
FROM tblControls_Rooms 
WHERE SiteID = @newSiteID 

當我運行它:

ID (No column name) 
1942 836 
1943 836 
1944 836 
1945 836 
1946 836 

ID (No column name) 
2025 838 
2026 838 
2027 838 
2028 838 

我想要得到的結果是:

ID (No column name) 
1942 836 
1943 836 
1944 836 
1945 836 
1946 836 
2025 838 
2026 838 
2027 838 
2028 838 
+2

嘗試聯合。 http://www.w3schools.com/sql/sql_union.asp –

+0

嘗試'union all',除非意味着只檢索不合理的記錄。 –

回答

2

聯盟會的工作,你也可以使用...

SELECT ID, SiteID 
FROM tblControls_Rooms 
WHERE SiteID IN (@OrigSiteID, @NewSiteID) 
+1

你最後一行不需要等號:-) – Bridge

+0

@Bridge謝謝!編輯。 – Stainy

0

我認爲這會爲你工作:

SELECT DISTINCT(tblControls_Rooms.ID), tblControls_Rooms.SiteID 
FROM tblControls_Rooms 
WHERE SiteID = @OrigSiteID 
OR SiteID = @newSiteID 

你可能不需要DISTINCT