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

Langage SQL Discussion :

[debutant]comparaison de table


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 70
    Points : 59
    Points
    59
    Par défaut [debutant]comparaison de table
    bonjour,
    je vous explique le probleme, j'ai deux table "client" et "achat"

    et j'aimerais lister les clients qui ne m'on jamais rien acheté

    exemple:

    table client:

    id client | nom | prenom
    001 | bob | bob
    002 | gre | jim
    003 | loy |herve
    004 | mr |anderson


    table achat
    id client | achat | prix
    001 | cd | 10.00
    004 | cd | 10.00
    001 | tele | 1200.00
    003 | pc | 1400.00


    resulta espéré:

    id client |
    002 |


    posez moi des question n'hesité pas

    en vous remerciant d'éventuel reponces

  2. #2
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    Tu obtiens ce résultat grâce à une requête imbriquée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT id_client
    FROM client
    WHERE id_client NOT IN (SELECT id_client
                                      FROM achat;);
    Cela devrait répondre à ta demande.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 392
    Points
    28 392
    Par défaut
    Un grand classique...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from client
    where id_client not in (select id_client from achat)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from client
    where not exist 
      (select 1 from achat where achat.id_client = client.id_client)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select * from client
    left join achat
    on achat.id_client = client.id_client
    where achat.id_client is null
    Fais ton choix

  4. #4
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 70
    Points : 59
    Points
    59
    Par défaut
    je vous remerci j'esaye et je [resou]

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 70
    Points : 59
    Points
    59
    Par défaut
    j'esaye un peut toutes tes methodes merci

    en fait c'est hypert long... plus de 200 000 enregistrement...

    mais j'aime bien developper.com de bon tuto et des qu'il y a un soucie on repond vite fait ^^ bonne equipe

  6. #6
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 70
    Points : 59
    Points
    59
    Par défaut
    c'est pasque mon calcul est pas fini :p


    je le coche quand meme ^^

    sinon ya moyen de suprimé tout les doublon d'une table? genre pour mon exemple:

    table achat
    id client | achat | prix
    001 | cd | 10.00
    004 | cd | 10.00
    001 | tele | 1200.00
    003 | pc | 1400.00


    devient

    table achat
    id client | achat | prix
    001 | cd | 10.00
    004 | cd | 10.00
    003 | pc | 1400.00

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 392
    Points
    28 392
    Par défaut
    Et sur quel critère supprimerais-tu la ligne (001, tele, 1200.00) ?
    En quoi est-ce un doublon ?

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

Discussions similaires

  1. [MySQL] [débutant] Comparaison de 2 tables
    Par Invité dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/09/2006, 12h32
  2. Réponses: 2
    Dernier message: 12/08/2006, 13h27
  3. [debutant] Comparaison sans casse !
    Par Tchinkatchuk dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 21/04/2005, 14h50
  4. comparaison de tables
    Par amelie15 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/04/2005, 10h37
  5. [debutant]Sauver une table dans un fichier
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/04/2004, 10h34

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