Minha consulta é a seguinte e contém uma subconsulta dentro dela:
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)
O erro que estou recebendo é ...
Only one expression can be specified in the select list when the subquery is not
introduced with EXISTS.`
Quando executo a subconsulta sozinha, ela retorna muito bem, então estou assumindo que há algum problema com a consulta principal?
fonte
*
me ajudou.Está reclamando
dentro da subconsulta. Somente uma coluna pode ser retornada da subconsulta, a menos que você esteja executando uma consulta existente. Não sei por que você deseja contar duas vezes a mesma coluna, superficialmente parece redundante ao que você está fazendo. A subconsulta aqui é apenas um filtro , não é o mesmo que uma associação. ou seja, você o utiliza para restringir dados, não para especificar quais colunas voltar.
fonte
Além das respostas muito boas aqui, você pode tentar isso também se quiser usar sua subconsulta como está.
Abordagem:
1) Selecione a coluna desejada (Somente 1) na sua subconsulta
2) Use onde mapear o nome da coluna
Código:
fonte