2017-10-08 2 views
0

j'avoir des ennuis avec l'exécution sql chaque fois que je l'exécute me donne une erreur nom de la colonne Ambigu ma déclaration « SalesYTD » est:erreur SQL: nom de la colonne Ambigu

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; 

le nom de cette colonne est correcte . Je ne comprends pas ce que je fais mal. Merci pour toute aide

Répondre

1

Cela signifie que SALESYTD est dans les deux tableaux. Je ne sais pas ce que tu veux.

Lorsque vous avez plusieurs tables dans une requête toujours qualifier vos noms de colonnes.

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; 

Je ne fais que deviner d'où viennent les colonnes.

0

Est-ce que cette colonne existe dans plus d'une table?

Si oui, vous devez nommer le champ comme celui-ci:

SP.salesYTD 

ou

ST.salesYTD 

Selon ce que vous voulez montrer.

Bonne chance.

+1

ça marche maintenant :) merci – Ana