login  Naam:   Wachtwoord: 
Registreer je!
 Forum

LEFT JOIN en subquery werken niet

Offline ikki007 - 21/04/2010 20:05
Avatar van ikki007Gouden medailleGouden medaille

PHP ver gevorderde
Hoi,

Ik gebruik de volgende query om alle kamers met 1 bijbehorende random afbeelding op te halen, althans dat probeer ik:

  1. SELECT
  2. ".TABLE_KAMERS.".id,
  3. ".TABLE_KAMERS.".straat,
  4. ".TABLE_KAMERS.".huisnummer,
  5. ".TABLE_KAMERS.".plaats,
  6. ".TABLE_KAMERAFBEELDINGEN.".filename_original,
  7. ".TABLE_KAMERAFBEELDINGEN.".filename_resized
  8. FROM
  9. `".TABLE_KAMERS."`
  10. LEFT JOIN `".TABLE_KAMERAFBEELDINGEN."` ON (".TABLE_KAMERS.".id = ".TABLE_KAMERAFBEELDINGEN.".kamer_id AND filename_original = (SELECT filename_original FROM `".TABLE_KAMERAFBEELDINGEN."` WHERE ".TABLE_KAMERS.".id = ".TABLE_KAMERAFBEELDINGEN.".kamer_id ORDER BY RAND() DESC LIMIT 1))
  11. WHERE ".TABLE_KAMERS.".verhuurder_id = '".$db->escape($user['userdata']['id'])."'
  12. GROUP BY ".TABLE_KAMERS.".id
  13. ORDER BY ".TABLE_KAMERS.".datum_toegevoegd DESC


Het probleem is dat ik soms een goed resultaat krijg, soms niet alle kamers, en soms kamers zonder een afbeelding terwijl die kamer wel aan afbeelding heeft.

Niet elke kamer heeft dus een afbeelding (vandaar de LEFT JOIN).

Hoe kan ik dit het best doen om alle kamers met 1 bijbehorende random afbeelding te krijgen?

ikki007

1 antwoord

Gesponsorde links
Offline Ontani - 21/04/2010 22:01
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Moet een LEFT OUTER JOIN zijn; lijkt me.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.29s