/ Forside/ Teknologi / Udvikling / SQL / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
SQL
Fra : ids
Vist : 345 gange
50 point
Dato : 21-01-03 10:18

Hej

Hvordan kan jeg bruge "IF", "Then" og "Else" i SQL når jeg skal undersøge om et felt er NULL
sagen er at jeg har ca. 780 grupper i en DB, alle er registreret en ten som "hovedgruppe" undergruppe" eller arbejdsgruppe".

Eks.
gruppe A (selvstændig, har ingen undergruppe)
gruppe B0 (hovedgruppe)
gruppe B1 (subgruppe til gruppe B)
Gruppe B1-1 (arb.gruppe under B1)
Gruppe B0-1 (arb.gruppe under hovedgruppen)
o.s.v

Select gr_name, Sub_name, A_name from tabel1
IF tabel1.sub_name is NULL Or IF tabel1.arb_name is NULL Then
NextRecord
END If;

Således at hvis et felt er tom, så skal den videre til næste record

Det eneste jeg vil have den til er at udskrive en liste over alle grupper, sub og arb. grupper som følgende

1: Gruppe A0/Subgruppe A0-1
2: Gruppe B0/Subgruppe B0-1/Arb_gruppe B1-1
3: Gruppe B0/Subgruppe B0-2
4: Gruppe B0/Subgruppe B0-1/Arb_gruppe B1-2

Håber der er nogle der kan hjælp, da jeg er ikke fortrolig med SQL og er ved at "Opdage"

Tak

 
 
Kommentar
Fra : gandalf


Dato : 21-01-03 10:34

Hej ids

Hvis du skal bruge if/then/else, skal du køre med cursors, for at du slavisk går fra record til record.

I dit tilfælde kan du bare gøre således:

Select gr_name, Sub_name, A_name
from tabel1
where not((tabel1.sub_name is NULL) Or (tabel1.arb_name is NULL))

Gandalf

Kommentar
Fra : olaf


Dato : 21-01-03 11:26

Hvilken database er der tale om ?
Oracle eller MS, DB2, MySql, MS Access ?

Olaf

Kommentar
Fra : ids


Dato : 21-01-03 11:29

Det drejer sig om et Oracle

Kommentar
Fra : olaf


Dato : 21-01-03 11:34

Kunne du beskrive tabellen, dvs. de vigtige dele, som da det blev dannet.

f.eks. create table tabel1 (gr_name varchar(10) .... )

Det vil gøre det en del nemere.

Olaf

Kommentar
Fra : olaf


Dato : 21-01-03 11:39

Hvis det er Oracle, kan du trække det ud via en sætning.

F.eks.
Select t1.gr_name, t2.Sub_name, t3.A_name
from tabel1 t1, tabel1 t2, tabel1 t3
where t1.gr_name = t2.gr_name(+) and t2.sub_name is not null
and t2.sub_name = t3.sub_nae(+) and t3.a_name is not null


etc ...

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177425
Tips : 31962
Nyheder : 719565
Indlæg : 6407911
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste