Or is null / niet bestaand / empty in where
Alvast bedankt!
Bovenstaande informatie is onvoldoende.
Schot voor de boeg / gokje: probeer het eens met een LEFT JOIN in combinatie met IS NULL...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
SELECT *
FROM uitslagen AS u
JOIN speler AS s ON u.uitslag_naam = s.id
LEFT OUTER JOIN ploeglr AS plr ON s.id = plr.plr_speler
LEFT OUTER JOIN teams AS t ON plr.plr_id = t.team_id
WHERE uitslag_wedstrijd_id = '". $id ."' AND uitslag_seizoen = '". $season ."' AND uitslag_categorie = '". $cat ."' AND team_jaar = '".$jaar."' AND plr_jaar = '".$jaar."' AND '".$datum."' BETWEEN plr_begindatum AND plr_einddatum
FROM uitslagen AS u
JOIN speler AS s ON u.uitslag_naam = s.id
LEFT OUTER JOIN ploeglr AS plr ON s.id = plr.plr_speler
LEFT OUTER JOIN teams AS t ON plr.plr_id = t.team_id
WHERE uitslag_wedstrijd_id = '". $id ."' AND uitslag_seizoen = '". $season ."' AND uitslag_categorie = '". $cat ."' AND team_jaar = '".$jaar."' AND plr_jaar = '".$jaar."' AND '".$datum."' BETWEEN plr_begindatum AND plr_einddatum
'".$datum."' BETWEEN plr_begindatum AND plr_einddatum
Op het moment krijg ik alle rijen van jaren waarin een speler een club had. Als ik Group by id doe wordt dat er 1, maar niet altijd de goede. En als ik bovenstaande code toevoeg verlies ik weer spelers die geen club hebben, en niet voorkomen in de betreffende table.
Iemand enig idee hoe ik dit kan oplossen?
Heb het opgelost. Heb een while in de while met een array of de renner een ploeg had ten tijde van de datum.