Ik heb een vraag over de volgende query waar ik wat aan toe moet voegen.


<?php
SELECT * FROM `messages` a LEFT JOIN user_profiles b ON a.`to` = b.profile_id  and `to` in (SELECT profile_id FROM `user_profiles` WHERE `is_fake`=1) and `hide` not in (SELECT profile_id FROM `user_profiles` WHERE `is_fake`=1)  
?>
 


In de table messages heb ik ook nog een veld message_type

nu wil ik dat hij enkel met deze query message_type = 2 gaat weer geven.

Waar moet ik dat in deze query toevoegen?

@Bollie Zwollie. Zou je wellicht de tables ook kunnen tonen?
Tipje: Zet er eens enter tussen voor betere leesbaarheid. Ik denk dat een WHERE aan het eind de oplossing is.
Een where aan het einde had ik al geprobeerd. Maar dan toont die niks helaas.

SELECT *
FROM   `messages` a
       LEFT JOIN user_profiles b
              ON a.`to` = b.profile_id AND a.messagetype = 2
                 AND `to` IN (SELECT profile_id
                              FROM   `user_profiles`
                              WHERE  `is_fake` = 1)
                 AND `hide` NOT IN (SELECT profile_id
                                    FROM   `user_profiles`
                                    WHERE  `is_fake` = 1)  

Probeer het eens zo?
Stukken beter leesbaarder, nietwaar? Deze tool is er uitermate handig in.
Vermijd bij de *, en benoem liever alle velden in je select. Persoonlijk noem ik de alisaaen altijd naar de eerste letter(s) van de tabel. a of b zegt weinig over welke tabel.
Dank je wel voor de tips. Het probleem is nog niet opgelost maar kan nu wel even beter stoeien om de query te begrijpen

Reageren