Ok een breinbrekertje (tenzij ik iets compleet over het hoofd zie)

Ik heb 2 tabellen , die zien er als volgt uit


emailadressen

 id | emailadres | cat1 | cat2 | cat3 | cat4
--------------------------------------------
  1 | [email protected]    |  1   |  1   |  0   |  1
  2 | [email protected]    |  0   |  1   |  1   |  0
  3 | [email protected]    |  1   |  0   |  1   |  1
  4 | [email protected]    |  1   |  1   |  0   |  0


categorie

 id | naam
----------------
  1 | Algemeen
  2 | Bestuur
  3 | Beheer
  4 | Overig



Wat wil ik zien?

Uit emailadressen het id, emailadres en de namen van de categorien waar een 1 instaat.

Hoe doe ik dit in SQL, ik wordt er redelijk gestoord van. :) meer dan ik al was.
wes schreef op 15.09.2006 12:56
ik wordt er redelijk gestoord van. :) meer dan ik al was.

Is dat dan nog mogelijk? ;) Lol

Ik denk dat Frank hier vast een goed antwoord op heeft. Ik zelf denk namelijk dat het datamodel niet geheel is 'genormaliseerd'.
Ohja, voor het geval frank reageerd, ik ga / kan / mag / moet geen aanpassingen doen op databaseniveau. Ik wil puur een query uitpoepen
Dat lijkt mij eerlijk gezegd ook

volgens mij had het moeten zijn.

email
id | email
-----------
1 | [email protected]
2 | [email protected]

cat1
email_id | aan| categorie_naam
------------------------------------
   1        |  0    |   2
   2        |  1    |   3


cat2
email_id | aan| categorie_naam
------------------------------------
   1        |  0    |   2
   2        |  1    |   3


categorie_namen


enz.
Ik denk dat je dan met JOINS aan de gang moet.

SELECT a.id,a,email,a,cat1,b.cat2,c.cat3
FROM emailadressen AS a,
         emailadressen AS b,
         emailadressen AS c,
WHERE 
a.id=b.id
AND
a.id=c.id
AND
a.cat1<>0
AND
b.cat2<>0
AND
c.cat3<>0


zoiets

ik neem aan dat jezelf de naam er wel aan krijgt
Datamodel rammelt! Klopt niets van.
Je hebt een koppeltabel nodig waarmee je een email_id koppelt aan 0 of meer categorieën


email_id    |     categorie_id
           1   |                     1
           1   |                     2
etc
Remco van Arkelen schreef op 15.09.2006 13:19
Datamodel rammelt! Klopt niets van.
Je hebt een koppeltabel nodig waarmee je een email_id koppelt aan 0 of meer categorieën


email_id    |     categorie_id
           1   |                     1
           1   |                     2
etc


Dat was al vastgesteld nu de oplossing nog. Zie WES zijn post
wes schreef op 15.09.2006 13:08
Ohja, voor het geval frank reageerd, ik ga / kan / mag / moet geen aanpassingen doen op databaseniveau. Ik wil puur een query uitpoepen
Ik had eigenlijk niet willen reageren omdat Klaasjan de boodschap al had overgebracht, maar doe het nu toch even.

Vraagje: Waarom kan en mag je geen goed datamodel maken? Dat is de basis van een goed systeem. Je bent nu dus een beroerd systeem aan het maken, eerste problemen doemen nu al op, dat straks niet fatsoenlijk is te onderhouden. Het hangt dan van de workarounds aan elkaar en kan dan ook zo maar eens inelkaar storten wanneer er een bug in blijkt te zittten. En laat dat bij software nog wel eens het geval zijn...
@remco bedankt voor de totaal zinloze comment.
@klaasjan volgens mij is dat wel een goede richting, ik probeer wel ff wat :)
POst hem even als je het voor elkaar krijgt
@frank, ik post hier al een stukje langer dan de meesten en zal niet zomaar 'ik kan dit niet aanpassen' ergens inzetten. Dat heeft dus een reden. In dit geval heeft het met ex en import van gegevens te maken waar ik niets verder aan kan doen. Reageer dan niet

Reageren