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 :

[MSSQL]comparer des couples de données?


Sujet :

Langage SQL

  1. #1
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut [MSSQL]comparer des couples de données?
    Bonjour,

    j'ai trois tables,
    client
    id_client bigint primary key
    code_client varchar(20)
    article
    id_article bigint primary key
    code_article varchar(20)
    conditionnement
    id_article bigint
    id_client bigint
    primary key (id_article, id_client)


    Je veux savoir quels couples article/client ne sont pas dans la table conditionnement.

    Je fais cette requête , et ça marche très bien :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select code_article, code_client
    from client c, article a
    where 
            convert(varchar,id_article) +','+ convert(varchar, id_client) 
    not in
    (select 
            convert(varchar,id_article) +','+ convert(varchar, id_client)
    from conditionnement)
    La requête marche, mais je suis sûr qu'il y a une façon plus élégante d'obtenir ce résultat.

    Je voudrais une requête qui me permette d'obtenir ce même résultat sans avoir recours à une concaténation de chaînes.

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    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 099
    Points : 28 400
    Points
    28 400
    Par défaut
    Comme ça ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select  A.code_article
        ,   A.code_client
    from    client  as C
        cross join
            article as A
    where   not exists
            (   select  1
                from    conditionnement as X
                where   X.id_article = A.id_article
                    and X.id_client  = C.id_client
            )
    ;

  3. #3
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT  A.code_article, C.code_client
    FROM    client  AS C
    CROSS JOIN        article AS A
    WHERE   NOT EXISTS
    (   SELECT 1 FROM conditionnement AS N
        WHERE    N.id_article = A.id_article     AND 
                 N.id_client  = C.id_client
                );

    ça marche!
    merci beaucoup.

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

Discussions similaires

  1. Comparer des base de données
    Par noname122 dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 29/07/2014, 11h29
  2. Comparer des données et calculer la différence
    Par sebing dans le forum Excel
    Réponses: 3
    Dernier message: 21/05/2008, 14h58
  3. Comparer des données issues d'un même champs
    Par billyman dans le forum Langage SQL
    Réponses: 8
    Dernier message: 12/12/2007, 17h54
  4. [VBA] Comparer des données en excel
    Par Micavk dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/10/2005, 12h26
  5. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37

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