Hulp met WHERE in query plaatsen
Ik heb een vraag over de volgende query waar ik wat aan toe moet voegen.
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?
Code (php)
1
2
3
4
2
3
4
<?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)
?>
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?
Edit:
probleem omschreven in topictitel.
Gewijzigd op 17/10/2018 22:41:57 door - Ariën -
Tipje: Zet er eens enter tussen voor betere leesbaarheid. Ik denk dat een WHERE aan het eind de oplossing is.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
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)
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.
Gewijzigd op 17/10/2018 22:42:52 door - Ariën -
Dank je wel voor de tips. Het probleem is nog niet opgelost maar kan nu wel even beter stoeien om de query te begrijpen