U kunt geen twee (of meerdere) kolommen in uw subquery retourneren om de vergelijking te maken in de WHERE A_ID IN (subquery)
clausule - welke kolom moet het vergelijken met A_ID
tot? Uw subquery moet alleen de kolom die nodig is voor de vergelijking retourneren met de kolom aan de andere kant van de IN
. De vraag moet dus de volgende vorm hebben:
SELECT * From ThisTable WHERE ThisColumn IN (SELECT ThatColumn FROM ThatTable)
U wilt ook sorteren, zodat u alleen uit de bovenste rijen kunt selecteren, maar u hoeft de AANTAL niet als een kolom terug te geven om uw sortering uit te voeren; sorteren in de ORDER
clausule is onafhankelijk van de kolommen die door de query worden geretourneerd.
Probeer zoiets als dit:
select count(distinct dNum)
from myDB.dbo.AQ
where A_ID in
(SELECT DISTINCT TOP (0.1) PERCENT A_ID
FROM myDB.dbo.AQ
WHERE M > 1 and B = 0
GROUP BY A_ID
ORDER BY COUNT(DISTINCT dNum) DESC)