Meerdere nationaliteiten ophalen met 1 sql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen Jansen

Jeroen Jansen

13/02/2008 10:42:00
Quote Anchor link
Voor een export wil ik graag meerdere nationaliteiten per persoon in 1 record ophalen.

De tabellen waar de gegevens in staan zijn Persoon (prsprsanr is sleutelveld) en Nationaliteit (met natnatntk voor de nationaliteitscode, natprsanr als koppelveld en natidcvrv om te kijken of nationaliteit is vervallen).

Ik ben al een tijdje aan het puzzelen maar kom er nog niet uit. Dit is wat ik nu heb:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
SELECT   persoon.prsprsanr,
         nat1.natnatntk,
         nat2.natnatntk,
         nat3.natnatntk
FROM     persoon as persoon
         left join nationaliteit as nat1 on persoon.prsprsanr = nat1.natprsanr and nat1.natidcvrv = ''
         left join nationaliteit as nat2 on nat1.natprsanr = nat2.natprsanr and nat2.natidcvrv = ''
         left join nationaliteit as nat3 on nat3.natprsanr = nat2.natprsanr and nat3.natidcvrv = ''
WHERE    nat2.natnatntk not in(nat1.natnatntk, nat3.natnatntk)
AND      nat3.natnatntk not in(nat1.natnatntk, nat2.natnatntk)
AND      nat1.natnatntk = (select min(ns.natnatntk) from nationaliteit as ns where ns.natprsanr = nat1.natprsanr)
ORDER BY nat1.natprsanr, nat1.natnatntk asc


Hierbij krijg ik bij een persoon met 3 nationaliteiten het volgende resultaat:
prsprsanr-nat1-nat2-nat3
123456789-1-40-389
123456789-1-389-40

De laatste zou ik dus graag ook niet in de resultaten van de query terug zien
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.