Bonjour,
J'ai un petit soucis avec ma requête SQL (PostgreSQL). J'ai deux tables : d_user et d_forum_user_topic.
Je veux sélectionné l'ensemble des enregistrements de d_user SAUF ceux qui ont un enregistrement dans d_forum_user_topic avec dans le champs topic_id_ext la valeur de $topic.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT u.usr_id, u.usr_pseudo FROM d_user u LEFT JOIN d_forum_user_topic ut ON ut.topic_id_ext = $topic WHERE u.usr_id <> ut.usr_id_ext
d_forum_user_topic a deux champs : usr_id_ext (le même que dans d_user pour le champs usr_id) et topic_id_ext.
Si on a un seul enregistrement avec topic_id_ext = $topic dans d_forum_user_topic (que je vais appeler A), la requete me retourne bien tous les enregistrements sauf celui qui a le même usr_id que l'enregistrement A.
Si on a 0 enregistrement A dans d_forum_user_topic, la requete ne retourne rien.
Si on a 2 ou + enregistrements A dans d_forum_user_topic, la requete retourne tous les enregistrements même ceux ayant les mêmes usr_id que les enregistrements A.
En gros, ma jointure ne se fait que sur 1 seul enregistrement.
Il doit surement exister une solution (GROUP ou qqchose dans le genre)...
Merci d'avance pour vos réponses.










Répondre avec citation

J'espère que vous avez pris le temps de vérifier la façon dont ça marche et de chercher des solutions alternatives... 
Partager