Article View: be.comp.programming
Article #13515Re: SQL - vraagje...
From: Frans Bouma
Date: Thu, 19 Jul 2001 10:21
Date: Thu, 19 Jul 2001 10:21
57 lines
2566 bytes
2566 bytes
"jdb" <fonsken79@hotmail.com> wrote in message news:IIx57.37555$Lk7.1038359@news.chello.be...
> Ik heb een vraag(je) ivm een sql-statement...
> Eerst en vooral een voorbeeldje...
> Stel: ik heb twee tabellen, A en B
>
> tabel A :
>
> I J
> ---------
> 'aa' '11'
> 'bb' '22'
> 'cc' ' '
>
> en tabel B:
>
> K L
> --------
> '11' 'text1'
> '22' 'text2'
>
> Nu voer ik het volgende sql-statement uit:
>
> select i, l from a,b
> where j = k
> or j not like ' %'
>
> Ik krijg dan:
>
> aa text1
> bb text2
> cc text1
> cc text2
>
>
> Hoe kan ik ervoor zorgen, dat ik voor het record 'cc' slechts ��n record
> krijg,
> in plaats van de huidige twee, en dan liefst nog met een lege tekst, omdat
> voor cc kolom j niet ingevuld is...
je hebt 2 tabellen. tabel A heeft een foreign key 'J' die verwijst
naar een primary key 'K' in tabel B. Dat is de relatie tussen de
2 tabellen.
Wil je de tabellen samennemen tot 1 gezamelijke 'tabel' of 'view', dan
zul je die relatie moeten gebruiken om de records die bij elkaar horen
samen te nemen. Wat niet klopt is dat je een lege foreign key invult bij
J die niet voorkomt bij K. Dit illustreert dat OF je vergeten bent de
value bij 'J' voor 'cc' ook in te vullen bij 'K' OF dat je datamodel
niet klopt en er geen relatie is tussen 'J' en 'K'.
Je kan proberen:
SELECT I, L FROM A LEFT JOIN B ON A.I=B.K
Je krijgt dan voor 'L' bij 'cc' de waarde NULL.
(werkt niet met semi databases als MySQL)
FB
Technical Details
Message-ID:
<3b56b42e$0$14027$e4fe514c@newszilla.xs4all.nl>Path:
arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!195.86.7.162!newsfeed.wirehub.nl!transit.news.xs4all.nl!newszilla.xs4all.nl!not-for-mailReferences:
<IIx57.37555$Lk7.1038359@news.chello.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: 107324,831d5bf8178940df X-Google-Attributes: gid107324,public X-Google-Thread: fcea4,831d5bf8178940df X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-07-19 03:19:29 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!195.86.7.162!newsfeed.wirehub.nl!transit.news.xs4all.nl!newszilla.xs4all.nl!not-for-mail Reply-To: "Frans Bouma" <perseus@xs4all.nl> From: "Frans Bouma" <perseus@xs4all.nl> Newsgroups: be.comp.programming,nl.comp.programmeren References: <IIx57.37555$Lk7.1038359@news.chello.be> Subject: Re: SQL - vraagje... Date: Thu, 19 Jul 2001 12:21:14 +0200 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Lines: 64 Message-ID: <3b56b42e$0$14027$e4fe514c@newszilla.xs4all.nl> NNTP-Posting-Host: 213.84.90.73 X-Trace: 995537967 newszilla.xs4all.nl 14027 213.84.90.73