Hulp met WHERE in query plaatsen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bollie Zwollie

Bollie Zwollie

17/10/2018 21:46:38
Quote Anchor link
Ik heb een vraag over de volgende query waar ik wat aan toe moet voegen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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)  
?>

 


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

PHP hulp

22/11/2024 05:16:47
 
Donald Boers

Donald Boers

17/10/2018 22:18:46
Quote Anchor link
@Bollie Zwollie. Zou je wellicht de tables ook kunnen tonen?
 
- Ariën  -
Beheerder

- Ariën -

17/10/2018 22:19:03
Quote Anchor link
Tipje: Zet er eens enter tussen voor betere leesbaarheid. Ik denk dat een WHERE aan het eind de oplossing is.
 
Bollie Zwollie

Bollie Zwollie

17/10/2018 22:25:02
Quote Anchor link
Een where aan het einde had ik al geprobeerd. Maar dan toont die niks helaas.
 
- Ariën  -
Beheerder

- Ariën -

17/10/2018 22:41:04
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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)  

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

Bollie Zwollie

17/10/2018 22:47:16
Quote Anchor link
Dank je wel voor de tips. Het probleem is nog niet opgelost maar kan nu wel even beter stoeien om de query te begrijpen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.