Terug naar de voorpagina
Home Nieuw Vraag & Aanbod Forums Artikelen Bedrijvengids Zoeken

   M. van de Rijt, Particulier
4 okt 2011 20:27 
Beste TB'ers,

Ik ben opzoek naar iemand die mij het volgende kan vertellen.
Als je een INNER JOIN doet op een tabel en die rij bestaat niet dan zal de MySQL query ook niks laten zien. Maar ik ben nu opzoek naar een query die juist wel de records laat zien waarvan geen join op de andere tabel bestaat.

Hopelijk is het een beetje duidelijk.

   Kevin van G., Particulier
4 okt 2011 20:34 
SELECT * FROM tabel1 WHERE tabel1.id NOT IN ( SELECT tabel2.id FROM tabel2 )

dit is niet zo optimaal maar dit doet denkik wel wat je nodig hebt denkik? Je wil enkel de records uit tabel1 die geen overeenkomstige record hebben in tabel2?

   M. van de Rijt, Particulier
4 okt 2011 20:54 
Het is me inmiddels gelukt op de volgende manier:

SELECT * FROM tbl1 WHERE display = '0' AND user_id = '" . $_SESSION['user_id'] . "' AND NOT EXISTS (SELECT * FROM tbl2s WHERE parent_id = tbl1.id )

     Aangepast op 04-10-2011 20:54 door M. van de Rijt
   R. Kapitein, Smoved
4 okt 2011 21:02 
SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.id = t2.id HAVING t2.id IS NULL;

   M. van de Rijt, Particulier
4 okt 2011 21:22 
dat is een stuk korter dank je !

   John B., Particulier
9 okt 2011 16:50 
right outer join

     Aangepast op 09-10-2011 16:51 door John B.



 
© Copyright TargetMedia 2001-2012 | Mobile | Premium SMS | Micropayments | Muziek downloaden | Ringtones Bekijk bezoekers statistieken RSS feed