SQL Server - Verwenden Sie einen Spaltenalias in einer Unterabfrage
-
05-07-2019 - |
Frage
Ich habe die folgende Abfrage, die gut funktioniert mit MySQL, aber sich weigert, zur Arbeit mit SQL server:
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 scheint nicht, wie der alias der Unterabfrage.Ich habe gesagt, ich muss an einen CTE, aber ich habe es nie benutzt, bevor.Ist das richtig?
Lösung
Das problem könnte gut sein, in der die Verwirrung in der sub-query
SELECT COUNT(someField) FROM table1 WHERE someField = theField
die someField
im Zustand " local - aber Sie können table1.someField
genau das gleiche.
Wie wäre
SELECT COUNT(t3.someField) FROM table1 t3 WHERE t3.someField = table1.someField
?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow