Problème de requête SQL

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 456
Inscription: Ven Oct 01, 2004 10:27

Problème de requête SQL

Message le Sam Jan 19, 2008 22:59

Bonjour à tous,

J'espère trouver un peu d'aide, parce que je bloque sur un Pb SQL.

Je pense que c'est un truc tout bête, mais je ne trouve pas la solution.

Je vous explique :

J'ai une table, celle des membres de mon site que l'on appellera $p (table phpbb_users).
Ils sont identifiés par la clef primaire de la table, user_id

J'ai une autre table que l'on appellera $c et qui contient des données qui appartiennent aux membres.
Les données de la table $c sont rattachées à chaque membre propriétaire de ces données, en répliquant dans un des champs la clef primaire de la table $p, sous le nom id_user

Je ne sais pas si je suis clair.

Je veux récupérer les email des membres qui n'ont pas encore postés de données dans la table $c pour les exporter et les relancer.

En clair :
J'ai besoin des emails des membres $p.user_email identifiés par leur clef primaire $p.user_id, et qui n'ont pas encore postés de données dans la table $c, rattachées à eux par le champ $c.id_user

Je ne trouve pas la solution qui doit être toute bête.

Si vous avez une piste, je vous remercie beaucoup.


Bh@Mp0
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 245
Inscription: Mar Jan 18, 2005 19:02

Message le Sam Jan 19, 2008 23:06

Code: Tout sélectionner
SELECT P.`email` FROM P
LEFT JOIN C ON C.`id_user` = P.`user_id`
WHERE C.`id_user` IS NULL


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 456
Inscription: Ven Oct 01, 2004 10:27

Message le Sam Jan 19, 2008 23:31

Ecoute, c'est parfait !!

Ça fait un bon moment que je bloquais dessus, j'ai du mal avec ces jointures, je n'arrive pas à bien saisir les tenants et les aboutissants.

Je ne sais pas comment te remercier, vraiment. C'est vraiment gentil pour le coup de main.

jcaron
WRInaute accro
WRInaute accro
 
Messages: 1196
Inscription: Ven Fév 13, 2004 20:33

Re: Problème de requête SQL

Message le Sam Jan 19, 2008 23:32

Mountain Magazin a écrit:J'ai une autre table que l'on appellera $c et qui contient des données qui appartiennent aux membres.
Les données de la table $c sont rattachées à chaque membre propriétaire de ces données, en répliquant dans un des champs la clef primaire de la table $p, sous le nom id_user


Il y a une ligne dans $c pour chaque ligne de $p, ou uniquement pour certaines? Je penche pour la deuxième...

Mountain Magazin a écrit:J'ai besoin des emails des membres $p.user_email identifiés par leur clef primaire $p.user_id, et qui n'ont pas encore postés de données dans la table $c, rattachées à eux par le champ $c.id_user


select $p.user_email from $p where $p.user_id not in (select $c.id_user from $c)

select $p.user_email from $p where not exists (select 1 from $c where $c.id_user=$p.user_id)

Jacques.


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 456
Inscription: Ven Oct 01, 2004 10:27

Message le Sam Jan 19, 2008 23:38

Bonjour Jacques,

Je viens d'avoir la réponse dans le post d'avant. C'était pour certaines uniquement, effectivement la 2ème solution.

Merci bcp pour le coup de main.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités