我有一个过去曾经工作过的联合查询,老实说,我无法判断是否由于某种原因我改变了某些内容,或者数据表中是否存在引起问题的内容。
以下是"更短"查询的版本,基本上合并两个副本表,除了一个保存CY信息,另一个PY信息和相应标记的列。当我分别分析CY和PY查询的两个部分时,结果是可以的。
现在,联盟正在夸大部分或全部价值观。有什么可能的原因??也许行值列中有空值?
SELECT *
FROM (
SELECT [CY 12Mths].BRANCH
,[CY 12Mths].VND_ID
,[CY 12Mths].PROD_ID
,Sum([CY 12Mths].TOTAL_ALLOWANCE_CY) AS SumOfTOTAL_ALLOWANCE_CY
,Sum([PY 12Mths].TOTAL_ALLOWANCE_PY) AS SumOfTOTAL_ALLOWANCE_PY
FROM [CY 12Mths]
LEFT JOIN [PY 12Mths] ON ([CY 12Mths].BRANCH = [PY 12Mths].BRANCH) ([CY 12Mths].VND_ID = [PY 12Mths].VND_ID)
AND ([CY 12Mths].PROD_ID = [PY 12Mths].PROD_ID)
GROUP BY [CY 12Mths].BRANCH
,[CY 12Mths].VND_ID
,[CY 12Mths].PROD_ID
ORDER BY [CY 12Mths].BRANCH
,[CY 12Mths].VND_ID
,[CY 12Mths].PROD_ID
) CY