2013-10-14 5 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 | 

С уважением, Bob

ответ

0

Как вы получаете значения col1 и col2, где нет соответствующей строки в таблице DIM? (Строки 2 и 4). Ваш «неправильный» результат точно верен, вот что делает внешнее соединение.