我遇到了执行sql的麻烦 任何时候我执行它给我一个错误模糊列名称' salesYTD' 我的陈述是:
SELECT COUNTRYREGIONCODE, NAME, AVG(SALESQUOTA),AVG(BONUS), AVG(SALESYTD)
FROM SALES.SALESPERSON SP
INNER JOIN SALES.SALESTERRITORY ST
ON SP.TERRITORYID = ST.TERRITORYID
GROUP BY NAME, COUNTRYREGIONCODE;
该列的名称是正确的。我不明白我做错了什么。谢谢你的帮助
答案 0 :(得分:1)
这意味着两个表中都有SALESYTD
。我不知道你想要哪一个。
如果查询中有多个表始终限定列名。
SELECT ST.NAME, ST.COUNTRYREGIONCODE,
AVG(SP.SALESQUOTA), AVG(SP.BONUS), AVG(SP.SALESYTD)
FROM SALES.SALESPERSON SP INNER JOIN
SALES.SALESTERRITORY ST
ON SP.TERRITORYID = ST.TERRITORYID
GROUP BY ST.NAME, ST.COUNTRYREGIONCODE;
我只是猜测列的来源。
答案 1 :(得分:0)
该列是否存在于多个表中?
如果是这样,您应该将字段命名为:
SP.salesYTD
或
ST.salesYTD
取决于您想要展示的内容。
祝你好运。