Avatar billede uffe_kld Nybegynder
05. januar 2004 - 13:49 Der er 1 løsning

Outerjoin med "filter"

Jeg har en outerjoin der fungere fint, men vil gerne filtre nogle af rækkene væk i den ene tabel uden de forsvinder i den anden.

fx.

Tabel1 = 100 rækker
Tabel2 = 10 rækker

hvor jeg skal alle rækker tabel1 men kun 4 rækker fra tabel2

select * from (tabel1.pk = table2.fk(+)) (giver 100 rækker tabel1, men 10 rækkker tabel2)



select * from (tabel1.pk = table2.fk(+)) and table2.kode = 1 (giver 4 række fra både tabel1 og tabel2)

(ønskes:100 rækker fra tabel1 og 4 rækker fra tabel2)
Avatar billede trer Nybegynder
05. januar 2004 - 14:52 #1
select *
from tabel1 t1, (select * from tabel2 where kode=1) t2
where t1.pk = t2.fk (+)
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