SQL Server: uso de un alias de columna en una subconsulta
-
05-07-2019 - |
Pregunta
Tengo la siguiente consulta que funciona bien con MySQL pero se niega a trabajar con el servidor 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
A SQL Server no parece gustarle el alias en la subconsulta. Me han dicho que necesito usar un CTE pero nunca los he usado antes. ¿Es esto correcto?
Solución
El problema bien podría estar en la confusión en la subconsulta
SELECT COUNT(someField) FROM table1 WHERE someField = theField
el someField
en la condición será local, pero puede llegar a table1.someField
exactamente igual.
¿Qué tal
SELECT COUNT(t3.someField) FROM table1 t3 WHERE t3.someField = table1.someField
?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow