2017-10-08 122 views
0

我有一個執行SQL 我執行它給我一個錯誤不明確的列名「salesYTD」 我的發言是任何時候的煩惱:SQL錯誤:不明確的列名

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; 

該列的名稱是否正確。我不明白我做錯了什麼。感謝您的幫助

回答

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; 

我只是猜測列的來源。

0

該列是否存在於多個表中?

如果是這樣,你應該命名場這樣的:

SP.salesYTD 

ST.salesYTD 

根據你想顯示什麼。

祝你好運。

+1

它現在的作品:)謝謝 – Ana