SQL Server - Utilisation d'un alias de colonne dans une sous-requête
-
05-07-2019 - |
Question
J'ai la requête suivante qui fonctionne bien avec MySQL mais refuse de fonctionner avec le serveur SQL:
SELECT table1.someField AS theField,
COUNT(table2.someField) / (SELECT COUNT(someField) FROM table1 WHERE someField = theField),
FROM table1 LEFT JOIN table2 ON table1.someField = table2.someField
SQL Server ne semble pas aimer l’alias de la sous-requête. On m'a dit que je devais utiliser un CTE mais je ne les avais jamais utilisés auparavant. Est-ce correct?
La solution
Le problème pourrait bien provenir de la confusion dans la sous-requête
SELECT COUNT(someField) FROM table1 WHERE someField = theField
le someField
de la condition sera local - mais vous pouvez accéder à table1.someField
de la même manière.
Que diriez-vous de
SELECT COUNT(t3.someField) FROM table1 t3 WHERE t3.someField = table1.someField
?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow