Mi consulta es la siguiente, y contiene una subconsulta dentro de ella:
select count(distinct dNum)
from myDB.dbo.AQ
where A_ID in
(SELECT DISTINCT TOP (0.1) PERCENT A_ID,
COUNT(DISTINCT dNum) AS ud
FROM myDB.dbo.AQ
WHERE M > 1 and B = 0
GROUP BY A_ID ORDER BY ud DESC)
El error que estoy recibiendo es ...
Only one expression can be specified in the select list when the subquery is not
introduced with EXISTS.`
Cuando ejecuto la subconsulta sola, devuelve muy bien, ¿así que supongo que hay algún problema con la consulta principal?
fuente
*
ayudarme.Se queja de
dentro de la subconsulta. Solo se puede devolver una columna de la subconsulta a menos que esté realizando una consulta existente. No estoy seguro de por qué quieres contar dos veces en la misma columna, superficialmente parece redundante lo que estás haciendo. La subconsulta aquí es solo un filtro, no es lo mismo que una combinación. es decir, lo usa para restringir datos, no para especificar qué columnas recuperar.
fuente
Además de las muy buenas respuestas aquí, puede probar esto también si desea utilizar su subconsulta tal como está.
Acercarse:
1) Seleccione la columna deseada (Solo 1) de su subconsulta
2) Use dónde asignar el nombre de la columna
Código:
fuente