Hulp met WHERE in query plaatsen
Bollie Zwollie
17/10/2018 21:46:38Ik 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 -
PHP hulp
22/11/2024 05:16:47Donald Boers
17/10/2018 22:18:46Tipje: Zet er eens enter tussen voor betere leesbaarheid. Ik denk dat een WHERE aan het eind de oplossing is.
Bollie Zwollie
17/10/2018 22:25:02Code (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 -
Bollie Zwollie
17/10/2018 22:47:16Dank je wel voor de tips. Het probleem is nog niet opgelost maar kan nu wel even beter stoeien om de query te begrijpen