2013-04-09 91 views
0

我的場景是這樣的:
表A是不同系統配置值的關鍵(映射)。我正在創建一個配置面板,並且在TableA的查詢中,結果將被SystemName過濾。查詢兩個表的映射配置

我的問題是,我無法得到結果中顯示空/空/值的結果。這是必需的,因爲UI基於此結果呈現標籤和文本框。

TableB可能有也可能沒有配置圖中所有鍵的值。

我想在這個格式(即首先從TableA的所有值,然後填補表B的值並返回結果)的值:

TableA 
ID Name SystemName 
1 Path1 SystemA 
2 Path2 SystemA 
3 Path3 SystemA 
4 Path1 SystemB 
5 Path2 SystemB 
6 Path3 SystemB 


TableB 
ID TableAID Value 
1 2  //Volumes/SomeDrive/SomeFolder 

Result 
ID Name TableAID SystemName Value 
1 Path1 1  SystemA '' 
2 Path2 2  SystemA //Volumes/SomeDrive/SomeFolder 
3 Path3 3  SystemA '' 

對此有一個簡單的解決方案。

在此先感謝

回答

0
SELECT ISNULL(TableB.ID, TableA.ID) AS ID, 
    TableA.Name, 
    TableA.ID as TableAID, 
    TableA.SystemName, 
    ISNULL(TableB.Value,'') AS Value 
FROM TableA 
LEFT OUTER JOIN TableB 
    ON TableA.ID = TableB.ID 
-1

是的,您使用外部聯接而不是內部。

+0

爲什麼選擇投票?這是解決方案,因爲選定的答案證明了這一點。 – Steve 2013-04-09 17:08:46