Quelle requête SQL devrais-je utiliser si je veux obtenir les résultats d'une table 'messages' mais exclure les lignes qui ont la valeur dans 'messages_view' où field messages.message = messages_view.id AND messages.deleted = 1 AND messages_view.user = $ somephpvariableMySQL SELECT résultats de 1 table, mais exclut les résultats en fonction d'une autre table?
en ce qui concerne plus de laïcs, j'ai une table de messages avec chaque un message noté par un 'id', ainsi qu'un messages_view table reliée à un champ 'message'. Je veux obtenir les lignes dans message qui ne sont pas supprimés (vient de messages_view) pour un 'utilisateur' spécifique. 'deleted' = 1 lorsque le message est effacé.
Voici ma requête en cours de SQL qui obtient juste les valeurs de:
SELECT * FROM messages WHERE ((m_to=$user_id)
OR (m_to=0 AND (m_to_state='' OR m_to_state='$state')
AND (m_to_city='' OR m_to_city='$city')))
Voici la mise en page de mes tableaux:
table: messages
----------------------------
id (INT) (auto increment)
m_from (INT) <-- Represents a user id (0 = site admin)
m_to (INT) <-- Represents a user id (0 = all users)
m_to_state (VARCHAR)
m_to_city (VARCHAR)
table: messages_view
----------------------------
message (INT) <-- Corresponds to messages.id above
user (INT) <-- Represents a user id
deleted (INT) <-- 1 = deleted
À la votre! Avec un peu de violon, je l'ai eu au travail, merci. – Brandon