SQL - vægtet udtræk returnere variende resultat
Hej alleMin gamle konto er død, så jeg måtte lige oprette en ny :/
Jeg har lavet følgende SQL kald me undre mig over, hvorfor det ikke returnerer det jeg ønsker:
Jeg øsnker et total af 1400 resp_id'er og har vægtet det i subkald. Det er omkring 15000 resp_id'er i db, som opfylder de forskellige kriterier, men vil gerne have et vægtet udtræk, jeg prøver at vægte det på "TOP XX".
SELECT id AS resp_id
FROM [esrch_respondenter]
WHERE id IN (
----------------------------------
-- Antal i husstanden --
----------------------------------
-- 5 eller flere
SELECT TOP 70 resp_id
FROM [Basisskema 1_answers]
WHERE (q_id = 315) AND (anstext IN ('5 personer', '6 personer eller flere'))
ORDER By newid()
) OR id IN (
-- 4 personer
SELECT TOP 210 resp_id
FROM [Basisskema 1_answers]
WHERE (q_id = 315) AND (anstext = '4 personer')
ORDER By newid()
) OR id IN (
-- 3 personer
SELECT TOP 210 resp_id
FROM [Basisskema 1_answers]
WHERE (q_id = 315) AND (anstext = '3 personer')
ORDER By newid()
) OR id IN (
-- 2 personer
SELECT TOP 420 resp_id
FROM [Basisskema 1_answers]
WHERE (q_id = 315) AND (anstext = '2 personer')
ORDER By newid()
) OR id IN (
-- 1 person
SELECT TOP 490 resp_id
FROM [Basisskema 1_answers]
WHERE (q_id = 315) AND (anstext = '1 person')
ORDER By newid()
)
Er der evt. en super SQL ekspert, som kan gennemskue hvorfor jeg får returneret et forskelligt antal resp_'er for hver gang jeg kører kaldet?