Du kan inte returnera två (eller flera) kolumner i din underfråga för att göra jämförelsen i WHERE A_ID IN (subquery)
klausul - vilken kolumn är det tänkt att jämföra A_ID
till? Din underfråga får bara returnera den kolumn som behövs för jämförelsen med kolumnen på andra sidan av IN
. Så frågan måste ha formen:
SELECT * From ThisTable WHERE ThisColumn IN (SELECT ThatColumn FROM ThatTable)
Du vill också lägga till sortering så att du bara kan välja från de översta raderna, men du behöver inte returnera ANTAL som en kolumn för att göra din sortering; sortering i ORDER
satsen är oberoende av kolumnerna som returneras av frågan.
Prova något sånt här:
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)