Avatar billede jonesw Nybegynder
10. marts 2010 - 10:57 Der er 1 kommentar og
1 løsning

While løkke i Select statement

Hej

Jeg kan ikke lige finde ud af om spørgsmålet er oprettet i forvejen...

Jeg har behov for lidt hjælp med at lave en SQL sætning.

Som eksempel har jeg en tabel som ser ud som følgende:

ID    Postnr    ForrigeID   
1    4000    0        Skal ikke med
2    2000    0        Skal ikke med
3    8000    0        Skal med
4    8000    1        Skal ikke med
5    8000    3        Skal med
6    8000    0        Skal med
7    8000    4        Skal ikke med
8    8000    6        Skal med
9    8000    7        Skal med

Sqlen skal være noget ala
SELECT *
FROM test
WHERE postnr = 8000 AND ForrigeID = 0.

Men jeg har behov for en løkke, så hvis forrigeid er forskellig fra 0, men postnr=8000, så skal den kigge på værdien i forrigeID, finde den række med værdien af det forrigeID og se om postnr = 8000 og forrigeID = 0. Det skal forsætte indtil at forrigeid = 0 og postnr stadig er 8000. Hvis postnr ikke er 8000 i sidste ende så skal den ikke med.

Jeg ved det er en form for løkke som jeg skal i gang med, men jeg kender ikke så meget til løkker i SQL.
Avatar billede steber Nybegynder
11. marts 2010 - 06:36 #1
Tror ikke jeg rigtigt forstår hvordan din SQL skal virke, men det lyder som en sub-select, fx:
SELECT ...
FROM ...
WHERE EXISTS (SELECT * FROM ... WHERE ...)

I stedet for EXISTS kan du jo også bruge NOT EXISTS, IN eller NOT IN.
Prøv at kigge på det.
Avatar billede jonesw Nybegynder
11. marts 2010 - 10:48 #2
Det har endt med at jeg har lavet det med PL/SQL, da der som jeg beskrev, var behov for en løkke, som ikke umiddelbart er mulig via alm. SQL.
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

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