Avatar billede John Kølle Nybegynder
24. juli 2008 - 10:01 Der er 2 kommentarer og
1 løsning

SQL - vægtet udtræk returnere variende resultat

Hej alle

Min 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?
Avatar billede John Kølle Nybegynder
24. juli 2008 - 11:53 #1
Resultatet jeg modtager er også under 1400 hver gang og jeg har jo "toppet" den til sammenlagt 1400 præcis, det undre mig også
Avatar billede arne_v Ekspert
25. juli 2008 - 02:26 #2
Er du sikker på at alle 5 queries returnerer "nok" rækker til at nå TOP ?
Avatar billede John Kølle Nybegynder
13. oktober 2008 - 09:26 #3
Arne, undskyld jeg ikke har svaret. Jeg er sikker på de kan returnere nok, undrede mig over hvorfor resultatet variede.

Jeg har løst på anden måde, så lukker dette spørgsmål
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester