2013-10-14 99 views
0

我想將兩個表合併爲一個,並在旁邊添加一個計數器。我現在擁有的是SQL加入2表

SELECT [CUCY_DATA].*, [DIM].[Col1], [DIM].[Col2], 
    (SELECT COUNT([Cut Counter]) FROM [MSD] 
    WHERE [CUCY_DATA].[Cut Counter] = [MSD].[Cut Counter] 
    ) AS [Nr Of Errors] 
FROM [CUCY_DATA] FULL JOIN [DIM] 
    ON [CUCY_DATA].[Cut Counter] = [DIM].[Cut Counter] 

這樣插入數據,但插入的值不匹配。我想例如這個

表CUCY_DATA

|_Cut Counter_|_Data1_|_Data2_| 
|  1  | 12 | 24 | 
|  2  | 13 | 26 | 
|  3  | 10 | 20 | 
|  4  | 11 | 22 | 

表DIM

|_Cut Counter_|_Col1_|_Col2_| 
|  1  | 25 | 40 | 
|  3  | 50 | 45 | 

,他們需要被合併到:

|_Cut Counter_|_Data1_|_Data2_|_Col1_|_Col2_| 
|  1  | 12 | 24 | 25 | 40 | 
|  2  | 13 | 26 | 25 | 40 | 
|  3  | 10 | 20 | 50 | 45 | 
|  4  | 11 | 22 | 50 | 45 | 

因此,這是錯誤的:

|_Cut Counter_|_Data1_|_Data2_|_Col1__|_Col2__| 
|  1  | 12 | 24 | 25 | 40 | 
|  2  | 13 | 26 | NULL | NULL | 
|  3  | 10 | 20 | 50 | 45 | 
|  4  | 11 | 22 | NULL | NULL | 

親切的問候,鮑勃

回答

0

你如何得到你的DIM表中沒有相應的行的col1和col2值? (第2行和第4行)。你的「錯誤」結果是完全正確的,這就是外連接所做的。