SQL Server: utilizzo di un alias di colonna in una sottoquery
-
05-07-2019 - |
Domanda
Ho la seguente query che funziona bene con MySQL ma rifiuta di funzionare con il server 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 non sembra gradire l'alias nella sottoquery. Mi è stato detto che devo usare un CTE ma non li ho mai usati prima. È corretto?
Soluzione
Il problema potrebbe essere nella confusione nella query secondaria
SELECT COUNT(someField) FROM table1 WHERE someField = theField
il someField
nella condizione sarà locale - ma puoi arrivare a table1.someField
lo stesso.
Che ne dici
SELECT COUNT(t3.someField) FROM table1 t3 WHERE t3.someField = table1.someField
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow