hey allemaal,

Weer een MySQL probleem: Ik wil graag meerdere tabellen joinen.

Ik zat zelf te denken aan deze query:


<?php
	$query = "SELECT 
				    programma.id,
				    programma.programma, 
				    programma.zender,
				    zenders.naam as zendernaam,
				    landen.naam as landnaam
				FROM 
				    programma
				LEFT JOIN
					(zenders
					LEFT JOIN
						landen
					ON
						zenders.land = landen.id)
				ON
					programma.zender = zenders.id
				WHERE 
				    '".$_SESSION['ingelogd']."'
				NOT IN( SELECT 
			                lid 
			            FROM 
			                kijkcijfers 
			            WHERE 
			                 prog = programma.id
			          )
				AND
					programma.sluiting >= NOW()";
?>


Maar dit gaat dus niet helemaal goed. Ik krijg nu ieder resultaat, met iedere zender (ik heb 17 zenders in de database staan). En als ik nu eigenlijk maar 1 resultaat terug zou moeten krijgen, krijg ik dit resultaat 17 keer terug, steeds met een andere zeder, i.p.v. alleen de zender die er bij hoor.

Waar zou het probleem kunnen zitten?

Even voor de duidelijkheid:

Er wordt een kijkcijfer geselecteerd, met daaraanvast een bepaald programma
aan dat programma hangt weer een bepaald land vast.

Groet
newb
Opgelost door INNER JOIN te gebruiken i.p.v. LEFT JOIN

Reageren