Gegroet,
Voor het maandelijkse e-zine (zie undersign) wat ik in elkaar geprogrammeerd heb, leek het me een leuk idee om ook elke maand op de personeelspagina (ik ben overigens Michiel B. voor de mensen die dat wat interesseert) automatisch een overzichtje te laten genereren met wie van de crew in het huidige issue 1 of meerdere artikelen hebben geschreven..
Ik gebruik hiervoor de volgende tabellen:
* lom (waarin de variabele van het huisige issuenr is opgenomen)
* crew (waarin de namen en de crew_id's zijn opgenomen)
* reviews (met o.a. een veld voor crew_id en issuenr)
* interviews (met o.a. een veld voor crew_id en issuenr)
* live_reviews (met o.a. een veld voor crew_id en issuenr)
* specials (met o.a. een veld voor crew_id en issuenr)
Wat ik dus middels een MySQL statement wil bewerkstelligen is is dat er nagegaan wordt in de tabellen reviews, interviews, live_reviews en specials (onze vaste maandelijkse rubrieken) wie van de medewerkers een artikel hebben geschreven. Met andere woorden: wiens crew_id komt er voor het huidige issue (de variabele in de tabel "lom") voor in tenminste 1 van de 4 genoemde tabellen..
Nu heb ik al een aantal opties geprobeerd (o.a. LEFT JOIN en UNION) maar die kunnen blijkbaar maar hooguit 3 tabellen aan. Het onderstaande leek me de meest logische optie maar toch levert die niet het juiste resultaat (ik krijg wederom alle medewerkers te zien):
crew_id 1 is overigens onze hoofdredacteur en die wordt bovenaan al vermeld...
Ik hoop dat iemand me wat verder kan helpen.. BVD..
Voor het maandelijkse e-zine (zie undersign) wat ik in elkaar geprogrammeerd heb, leek het me een leuk idee om ook elke maand op de personeelspagina (ik ben overigens Michiel B. voor de mensen die dat wat interesseert) automatisch een overzichtje te laten genereren met wie van de crew in het huidige issue 1 of meerdere artikelen hebben geschreven..
Ik gebruik hiervoor de volgende tabellen:
* lom (waarin de variabele van het huisige issuenr is opgenomen)
* crew (waarin de namen en de crew_id's zijn opgenomen)
* reviews (met o.a. een veld voor crew_id en issuenr)
* interviews (met o.a. een veld voor crew_id en issuenr)
* live_reviews (met o.a. een veld voor crew_id en issuenr)
* specials (met o.a. een veld voor crew_id en issuenr)
Wat ik dus middels een MySQL statement wil bewerkstelligen is is dat er nagegaan wordt in de tabellen reviews, interviews, live_reviews en specials (onze vaste maandelijkse rubrieken) wie van de medewerkers een artikel hebben geschreven. Met andere woorden: wiens crew_id komt er voor het huidige issue (de variabele in de tabel "lom") voor in tenminste 1 van de 4 genoemde tabellen..
Nu heb ik al een aantal opties geprobeerd (o.a. LEFT JOIN en UNION) maar die kunnen blijkbaar maar hooguit 3 tabellen aan. Het onderstaande leek me de meest logische optie maar toch levert die niet het juiste resultaat (ik krijg wederom alle medewerkers te zien):
code:
1
2
3
4
5
6
7
8
9
10
11
| SELECT DISTINCT realname
FROM crew WHERE EXISTS
(SELECT l.current_issue, i.issuenr, r.reviewer, in.interviewer, s.schrijver, li.reviewer
FROM reviews r, interviews in, specials s, live_reviews li, lom l
WHERE i.issuenr = l.current_issue
AND li.issuenr = l.current_issue
AND in.issuenr = l.current_issue
AND r.issuenr = l.current_issue
AND s.issuenr = l.current_issue)
AND crew_id NOT IN (1)
ORDER BY realname ASC |
crew_id 1 is overigens onze hoofdredacteur en die wordt bovenaan al vermeld...
Ik hoop dat iemand me wat verder kan helpen.. BVD..
[ Voor 1% gewijzigd door judgem op 16-03-2003 21:02 . Reden: query-foutje ]
- Ik bespreek ook harde waren en dan wel op www.lordsofmetal.nl - en ik draai en programmeer ze in DYNAMO