Het volgende is het geval. Ik heb twee tabellen in een mysql database staan. In de eerste tabel staan rows met allemaal een id (uniek), een nummer (niet uniek) en een stuk tekst. In de tweede tabel staan alle id's (niet uniek) uit de eerste met een PUB_ID veld (uniek).
Het idee is dat ik uit Tabel 1 alle rows krijg waarvan de id's niet voorkomen als deze in Tabel 2 staan, maar als deze wel in tabel 2 staan mag er vervolgens geen enkele row teruggegeven worden met datzelfde nummer.
Bij bovenstaande situatie zou ik dus alllen de rows met een JA terug willen krijgen. Zelf heb ik zitten goochelen met JOIN, ik kan dan wel de rows krijgen waarvan wel ID in tabel 2 staat (WHERE id IS NULL), maar blijf vervolgens wel met die dubbele 1000 nummer zitten, 1 is makkelijk, maar id 2 staat niet in tabel 2 en hoe kan je dan zeggen id 1 niet en omdat nummer 1000 dan ineens "negatief" is mag die helemaal niet meer.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| TABEL 1: id | nummer | tekst 1 | 1000 | blaat (NEE, 1 komt voor) 2 | 1000 | tralala (NEE, 1 kwam reeds voor) 3 | 1002 | nog tekst (NEE, 3 komt voor) 4 | 1004 | pietje (JA, 4 komt niet voor) 5 | 1007 | hallo (JA, 5 komt niet voor) 6 | 1007 | prima (JA, 6 komt niet voor) TABEL 2: id | pub 1 | 1 3 | 3 |
Het idee is dat ik uit Tabel 1 alle rows krijg waarvan de id's niet voorkomen als deze in Tabel 2 staan, maar als deze wel in tabel 2 staan mag er vervolgens geen enkele row teruggegeven worden met datzelfde nummer.
Bij bovenstaande situatie zou ik dus alllen de rows met een JA terug willen krijgen. Zelf heb ik zitten goochelen met JOIN, ik kan dan wel de rows krijgen waarvan wel ID in tabel 2 staat (WHERE id IS NULL), maar blijf vervolgens wel met die dubbele 1000 nummer zitten, 1 is makkelijk, maar id 2 staat niet in tabel 2 en hoe kan je dan zeggen id 1 niet en omdat nummer 1000 dan ineens "negatief" is mag die helemaal niet meer.