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

Développement SQL Server Discussion :

Données tables de correspondance


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2017
    Messages : 176
    Points : 58
    Points
    58
    Par défaut Données tables de correspondance
    Bonjour,

    Je cherche à faire une requête SQL qui va me remplacer les données de plusieurs colonnes par celles issues de plusieurs tables de correspondance.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select colonne1, colonne2, colonne3 from ma_table
    Table de correspondance 1 : tbl_cor1

    structure de la table :

    Code1 Code2
    111 aaa
    222 bbb

    Si la valeur de la colonne1 existe dans la colonne code1 de la table de correspondance alors elle est remplacée par la valeur de la colonne code2 sinon elle garde sa valeur par défaut.
    C'est à dire si colonne1 vaut 111 alors elle est remplacée par aaa

    La colonne2 va être remplacée par les données de la table de correspondance tbl_cor2
    La colonne3 va être remplacée par les données de la table de correspondance tbl_cor3


    Quelle serait la meilleure manière d'écrire la requête?

  2. #2
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2014
    Messages : 257
    Points : 395
    Points
    395
    Par défaut
    Bonjour,

    Les DDL, en général, ça aide mieux qu'un mini tableau, surtout quand on parle de plusieurs tables. (DDL => structure de la table)
    Ensuite, il y a-t-il une clé étrangère entre vos tables ?

    Sinon, en général, poster une ébauche de requête avec le résultat c'est bien aussi

    Je vous invite à la lire la documentation sur les jointures (petit tips, il faut regarder en particulier LEFT JOIN)
    Je vous invite ensuite à regarder la clause CASE

    Je crois aussi avoir vu un poste récent sur un sujet relativement similaire à votre demande, sur du sql serveur je crois d'ailleurs (ou Oracle), ce post vous aidera peut être

    Bisous bisous

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour

    On va supposer qu'il y a une contrainte d'unicité sur la colonne code1 de tbl_cor1 !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    UPDATE T
        SET Colonne1 = COALESCE(C.code1, T.colonne1)
    FROM ma_table AS T
    LEFT JOIN tbl_cor1 AS C
        ON C.code1 = T.colonne1

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2017
    Messages : 176
    Points : 58
    Points
    58
    Par défaut
    Merci pour votre proposition.

    C'est ce que j'ai utilisé comme solution.

    Désolé pour ne pas avoir mis la discussion à l'état résolu.

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

Discussions similaires

  1. Mise à jour données selon table de correspondance
    Par maxime82 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/10/2010, 17h30
  2. requête table de correspondance
    Par RodEpsi dans le forum Access
    Réponses: 4
    Dernier message: 19/02/2007, 20h06
  3. Requete avec une table de correspondance.
    Par gregb34 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/02/2007, 18h53
  4. [débutant] problème affichage données table ds TDBGrid
    Par lidouka dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/12/2005, 13h50
  5. Datawarehouse et table de correspondance
    Par Adi81 dans le forum Alimentation
    Réponses: 4
    Dernier message: 31/05/2005, 18h39

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