0

我想将两个表合并为一个,并在旁边添加一个计数器。我现在拥有的是

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  |

表尺寸

|_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 |

亲切的问候,鲍勃

4

1 回答 1

0

您如何在 DIM 表中没有相应行的情况下获取 col1 和 col2 值?(第 2 行和第 4 行)。您的“错误”结果完全正确,这就是外连接的作用。

于 2013-10-14T15:49:25.077 回答