[RESOLU] Problème SQL Doublons

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Problème SQL Doublons

Re: Problème SQL Doublons

par LambertTMC » 19 oct. 2015, 11:27

Problème résolu, voici la requête qui fonctionne :

Code : Tout sélectionner

SELECT `email` FROM customer WHERE `id_customer` NOT IN (SELECT c.`id_customer` FROM customer AS c NATURAL JOIN submission AS s WHERE s.`id_formulaire` = 2)
Je passe le sujet en résolu !

Re: Problème SQL Doublons

par LambertTMC » 18 oct. 2015, 18:42

Je vais un peu détaillé les tables ça sera plus claire :
Table 'customer' :
Colonne : id_customer | email | name | ...
Ligne1 : 1 | [email protected] | nom1 | ...
Ligne2 : 2 | [email protected] | nom2 | ...
Ligne3 : 3 | [email protected] | nom3 | ...

Table 'submission'
Colonne : id_customer | id_formulaire | reponse_1 | ...
Ligne1 : 1 | 1 | rep_client1_form1... | ...
Ligne2 : 2 | 1 | rep_client2_form1... | ...
Ligne3 : 1 | 2 | rep_client1_form2... | ...

Dans cette exemple il faudrait que pour le formulaire portant l'id 1 il me renvoi l'adresse du client 3, et pour le formulaire portant l'id 2 qu'il me renvoi les adresses mail des client 2 et 3.

or1, je ne comprends as où tu veux que j'essaie ça.

Merci,

Re: Problème SQL Doublons

par or 1 » 18 oct. 2015, 18:15

b.`id_customer` is null
ou si cela ne marche pas a.`id_customer` is null

Re: Problème SQL Doublons

par LambertTMC » 18 oct. 2015, 18:04

Salut soft1ne,

Merci d'avoir pris le temps de me répondre, je comprends pas trop ce que tu me dis de faire, il n'y a pas de colonne EmailAdress dans la table 'submission' et si je lui dis de me renvoyer les EmailAdress IS NULL de la table 'customer', il ne me renvoi rien car ils ont tous une adresse mail.

Re: Problème SQL Doublons

par soft1ne » 18 oct. 2015, 16:30

salut,

Tu peux faire un LEFT JOIN à la place d'un INNER JOIN, et tu fais un where EmailAddress IS NULL

C'est tout :)

Problème SQL Doublons

par LambertTMC » 18 oct. 2015, 15:14

Bonjour,

J'ai besoin de statistiques pour un formulaire que j'envoi à un groupe de client.
J'ai en fait une table 'customer' qui regroupe toutes les infos des clients, et une table 'submissions' qui regroupe les réponses quand les clients ont répondu.
J'ai fait une requête qui me permet de récupérer les id des personnes qui ont répondu au formulaire, puis il les compare avec les id des clients dans la table 'customer'. Je veux en fait récupérer les adresses mail de personnes qui n'ont pas répondu.

Voici mon code :

Code : Tout sélectionner

SELECT * FROM `customer` AS a INNER JOIN `submission` AS b ON b.`id_customer` != a.`id_customer` WHERE b.`id_formulaire` = 2
Pour l'exemple j'ai juste mis un id fixe, mais ça change en fonction des formulaires.
Mon soucis, c'est en fait que la requête me renvoi les personnes qui ont répondu au formulaire et les personnes qui n'ont pas répondu en double. Je voudrais uniquement les personnes qui n'ont pas répondu, et en une seule fois :mrgreen:

Quelqu'un à une idée ?

Merci par avance !

Lambert