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
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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