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

SQL Oracle Discussion :

Jointure avancée en colonne


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Août 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Août 2021
    Messages : 9
    Par défaut Jointure avancée en colonne
    Bonjour,

    Pourriez vous svp m'apporter votre aide pour trouver le code SQL sous oracle SVP.
    Je souhaiterais faire une jointure deux tables :
    1er contient la listes des patients avec leur Numéro dossier
    2eme les actes réalisés pour chaque patient avec le numéro dossier

    sachant que un patient peut avoir jusqu'à 3 actes, chaque acte a un identifiant unique ligne

    je souhaiterais avoir en résultat une ligne pour chaque patient en rajoutant en colonnes l'acte 1 et acte 2 acte 3.

    Table 1

    patient dossier
    pat_1 200001
    pat_2 200002
    pat_3 200003

    Table 2

    dossier acte ID_uniuqe_ligne
    200001 Acte_aaaa 215406
    200001 Acte_acde 215407
    200001 Acte_Bcde 215408
    200002 Acte_aaaa 215409
    200003 Acte_Bcde 215410
    200003 Acte_Bffe 215411

    Résultat souhaité :
    Table 3

    patient dossier acte 1 acte 2 acte 3
    pat_1 200001 Acte_aaaa Acte_acde Acte_Bcde
    pat_2 200002 Acte_aaaa
    pat_3 200003 Acte_Bcde Acte_Bffe

    Je vous remercie par avance

  2. #2
    Membre très actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    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 : 261
    Par défaut
    Bonjour,

    Je vous invite à jeter un coup d'oeil sur cette documentation https://www.oracletutorial.com/oracl.../oracle-pivot/ avec la colonne id-patient en temps que "clé de regroupement"
    Lorsque vous aurez une requête, si elle ne fonctionne pas, n'hésitez pas à la poster ici après l'avoir anonymisé

  3. #3
    Membre averti
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Août 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Août 2021
    Messages : 9
    Par défaut
    Bonjour,

    Je vous remercie pour votre réponse.
    J'ai essayer d'utiliser la fonction pivot, mais je ne pense pas qu'elle soit adapté à ma problématique.

    j'ai un exemple plus concret,

    Une intervention du patient 26XXXXXX5, nous avons 6 chirurgiens.

    N DOSSIER OPERATEUR NOM_OPERATEUR
    26XXXXXX5 Operateur COZXX LXXXX
    26XXXXXX5 Operateur ALLXXXX PEXX
    26XXXXXX5 Operateur LOXXXXXX
    26XXXXXX5 Operateur AMXXXXXk
    26XXXXXX5 Operateur MXXXXXX
    26XXXXXX5 Operateur MUXXXXXX

    N DOSSIER --> c'est identifiant patient
    OPERATEUR --> opérateur = chirurgien
    NOM_OPERATEUR --> Nom du chirurgien


    ce que je souhaite obtenir, transposer les deux dénier colonnes --> en ligne :

    N DOSSIER Operateur_1 Operateur_2 Operateur_3 Operateur_ 4 Operateur_5 Operateur_6
    26XXXXXX5 COZXX LXXXX ALLXXXX PEXX LOXXXXXX AMXXXXXk MXXXXXX MUXXXXXX

    pour chaque intervention on peut avoir un ou plusieurs chirurgien.

    Operateur_i --> i un compteur en fonction du nombre de ligne de chirurgien pour chaque intervention,

    sachant que dans la table initiale, nous avons plusieurs dossiers, et pas forcément le même nombre d'opérateur pour chaque intervention.

    au final, possibilité de superposer les lignes des différents patients.

    N DOSSIER Operateur_1 Operateur_2 Operateur_3 Operateur_ 4 Operateur_5 Operateur_6
    26XXXXXX5 COZXX LXXXX ALLXXXX PEXX LOXXXXXX AMXXXXXk MXXXXXX MUXXXXXX
    21XXXXXX5 DEX FXXXX FDXXXX

Discussions similaires

  1. Optimiser jointure + tri sur colonnes différentes
    Par Gaetch dans le forum Requêtes
    Réponses: 8
    Dernier message: 30/03/2012, 13h53
  2. Jointure de deux colonnes (tab1) à une autre (tab2)
    Par pHlegMatikangel dans le forum Langage SQL
    Réponses: 9
    Dernier message: 23/11/2011, 12h03
  3. [MySQL] Jointure sur 2 colonnes de la table pour 1 colone jointe
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/12/2009, 11h44
  4. Calcul sql, jointure, ajout de colonne
    Par stelsej dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/04/2007, 17h52
  5. Update dans SYBASE avec jointure sur 2 colonnes
    Par metheorn dans le forum Sybase
    Réponses: 2
    Dernier message: 24/06/2005, 16h51

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