IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Requête de soustraction sans doublons


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 12
    Points : 13
    Points
    13
    Par défaut Requête de soustraction sans doublons
    Bonjour,
    Comme je n'arrive pas toujours à m'expliquer je vais faire un exemple ca en dira surement plus

    J'ai 2 tables : URL et PARTENAIRE

    ----------[URL]------------
    ! id_membre ! url !
    -----------------------------
    ! 1 ! url1 !
    ! 1 ! url2 !
    ! 2 ! url3 !
    ! 3 ! url4 !
    ! 3 ! url5 !
    -----------------------------

    -----[PARTENAIRE]-------
    ! id_membre ! url !
    -----------------------------
    ! 1 ! url3 !
    ! 2 ! url2 !
    -----------------------------

    Et je veux obtenir :
    Pour id_membre=1
    --[RESULTAT]--
    ! url !
    ------------
    ! url4 !
    ! url5 !
    ------------

    Pour id_membre=2
    --[RESULTAT]--
    ! url !
    ------------
    ! url1 !
    ! url4 !
    ! url5 !
    ------------

    Pour id_membre=3
    --[RESULTAT]--
    ! url !
    ------------
    ! url1 !
    ! url2 !
    ! url3 !
    ------------

    J'ai penser utiliser une requete du type :
    SELECT * FROM URL
    WHERE id_membre!='$id_membre' NOT IN
    (SELECT id_membre FROM PARTENAIRE WHERE id_membre='$idmembre')

    mais comme j'ai mysql 4.025 sur mon serveur je ne peux pas utiliser NOT IN...

    D'après la FAQ :
    SELECT * FROM table1
    WHERE champ1 NOT IN (SELECT champ1 FROM table2)
    devient
    SELECT table1.* FROM table1
    LEFT JOIN table2 ON table1.champ1=table2.champ1
    WHERE table2.champ1 IS NULL

    Mais je n'arrive pas a convertir ma requete sous cette forme.

    Si quelqu'un a une idée ...

  2. #2
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Bonjour,

    As-t-on la liste complète desdes id_membre dans la table URL ?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Oui.
    L'id_membre de la table URL correspond au propriétaire de l'url et l'id_membre de la table PARTENAIRE correspond à l'id_membre qui est partenaire avec l'url.
    urlx de la table URL correspond a urlx de la table PARTENAIRE.

    En fait je veux que mon résultat soit égal à :
    (toutes les urls URL ou id_membre !=$id_membre)-(toutes les urls PARTENAIRE ou id_membre=$id_membre)
    soit :
    (SELECT url FROM URL WHERE id_membre!=$id_membre)-(SELECT url FROM PARTENAIRE WHERE id_membre=$id_membre)

    ET sans les doublons ...

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Je pense avoir trouvé la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT url.* FROM url LEFT JOIN partenaire 
    ON url.titre=partenaire.titre WHERE url.id_membre!='$id_membre' AND (partenaire.id_membre='$id_membre' OR partenaire.id_membre IS NULL)

    [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 11/03/2009, 10h35
  2. requête pour trouver les champs sans doublons
    Par kuhnden dans le forum Access
    Réponses: 2
    Dernier message: 28/03/2008, 19h34
  3. Requête sans doublon ?
    Par Friedrick dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/01/2008, 12h01
  4. Requête sans doublon spécifique
    Par david71 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 23/01/2008, 19h45
  5. Requête ajout sans doublons
    Par oceanediana dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 02/08/2006, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo