我已经使用Max和Case函数加入了三个表格。如何在三个表中使用MAX和Case函数?
当我使用两个表时,它工作正常,但是当我添加第三个表时,我得到了这个错误。
歧义列名'Month'。
SELECT Category ,
KPI ,
TDTargetValue ,
MAX(CASE WHEN Month = 'Jan' THEN Input
END) Jan ,
MAX(CASE WHEN Month = 'Feb' THEN Input
END) Feb ,
MAX(CASE WHEN Month = 'Mar' THEN Input
END) Mar ,
MAX(CASE WHEN Month = 'Apr' THEN Input
END) Apr ,
MAX(CASE WHEN Month = 'May' THEN Input
END) May ,
MAX(CASE WHEN Month = 'Jun' THEN Input
END) Jun ,
MAX(CASE WHEN Month = 'Jul' THEN Input
END) Jul ,
MAX(CASE WHEN Month = 'Aug' THEN Input
END) Aug ,
MAX(CASE WHEN Month = 'Sep' THEN Input
END) Sep ,
MAX(CASE WHEN Month = 'Oct' THEN Input
END) Oct ,
MAX(CASE WHEN Month = 'Nov' THEN Input
END) Nov ,
MAX(CASE WHEN Month = 'Dec' THEN Input
END) Dec
FROM [NEWSEMAKPI].[dbo].[NewCriteria] NC
INNER JOIN (SELECT *
FROM [NEWSEMAKPI].[dbo].[UpdateData]
WHERE PeriodId = '1'
) UD ON UD.Cid = NC.Id
LEFT JOIN (SELECT *
FROM [NEWSEMAKPI].[dbo].[TargetData]
) TD ON UD.Cid = TD.CId
WHERE NC.Grade = 'A'
AND IsActived = '0'
GROUP BY Category ,
KPI ,
TDTargetValue
ORDER BY 1
任何帮助,将不胜感激。
错误消息说,'Month'列存在于**多个表**在'JOIN'中出现,所以请使用**别名**来限定列 –
谢谢。我会弄清楚。 – user3538475