Ik zit vast met een MySQL query, LEFT JOIN pakt zoals ik al had verwacht ook alle records van de tabel berichten_gelezen ongeacht of er een match is in de tabel berichten. Wat ik wil is enkel de berichten selecteren die voor de gebruiker, het uid moet 0 zijn (berichten aan alle gebruikers) of het persoonlijke uid. Wat hij nu echter doet is deze check in de query compleet negeren door de LEFT JOIN, ik heb echter geen idee hoe ik dit kan oplossen, INNER JOIN gaat niet werken omdat er niet altijd een record is in de tabel berichten_gelezen, deze komt er pas in zodra het bericht gelezen is.
Dit is de query tot nu toe, hopelijk weet iemand een oplossing.
SELECT b.id,b.titel,b.bericht,b.datum,g.id AS gelezen FROM berichten b LEFT JOIN berichten_gelezen g ON b.id = g.bid AND b.uid IN(0, 123)
Dit is de query tot nu toe, hopelijk weet iemand een oplossing.
SELECT b.id,b.titel,b.bericht,b.datum,g.id AS gelezen FROM berichten b LEFT JOIN berichten_gelezen g ON b.id = g.bid AND b.uid IN(0, 123)

