Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Discussion: Sélection des tables

  1. #1

    Femme Profil pro
    Inscrit en
    octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : octobre 2012
    Messages : 10
    Points : -1
    Points
    -1

    Par défaut Sélection des tables

    Bonjour,

    Y aurait il quelqu'un pour m'aider sur SQL?

    J'ai 3 tables, je souhaiterais extraire un champ des trois, c'est à dire extraire la valeur de la table A, puis de la table B et dans la table C extraire ce même champ ayant une valeur différente de A et B.

    A + B + C (mais que les valeurs différentes de A + B).

    Si la valeur retournée est rattachée à plusieurs noms (un autre champ), ne ramener que le premier nom.

    Merci d'avance

  2. #2
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 103
    Points : 5 131
    Points
    5 131

    Par défaut

    bonjour,

    un petit exemple de donnée en entrée et en sortie du process aiderait à comprendre.

  3. #3

    Femme Profil pro
    Inscrit en
    octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : octobre 2012
    Messages : 10
    Points : -1
    Points
    -1

    Par défaut Donnees test

    ok

    table A
    nom prenom
    titi tutu

    table B
    nom prenom
    titi tutu
    tata toto

    table C
    nom prenom
    tata toto

  4. #4
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 103
    Points : 5 131
    Points
    5 131

    Par défaut

    et du coup ?

    Le résultat attendu ? indiquez dans ce résultat la provenance des tables de chaque ligne

  5. #5

    Femme Profil pro
    Inscrit en
    octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : octobre 2012
    Messages : 10
    Points : -1
    Points
    -1

    Par défaut Reponse

    Rentourner toutes les lignes sans doublons.
    et si le meme nom est associé à differents prénoms, ne renvoyez que le premier prénom.

  6. #6
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 103
    Points : 5 131
    Points
    5 131

    Par défaut

    Je ne comprend pas bien l'idée fonctionnelle sous-jacente mais soit

    Quelque chose dans le genre devrait fonctionner :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    WITH tmp as (
    SELECT NOM, PRENOM
    FROM TABLEA
    UNION ALL
    SELECT NOM, PRENOM
    FROM TABLEB
    UNION ALL
    SELECT NOM, PRENOM
    FROM TABLEC)
     
    SELECT NOM, MIN(PRENOM)
    FROM tmp
    GROUP BY nom
    le prenom retenu est aléatoire.

    Si vous voulez un ordre de priorité entre vos tables il faudra surement passer par une fonction de fenêtrage ou équivalent .. indiquez votre SGBD le cas échéant.

  7. #7

    Femme Profil pro
    Inscrit en
    octobre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : octobre 2012
    Messages : 10
    Points : -1
    Points
    -1

    Par défaut

    Merci pour cette solution.

    J'utilise DB2. La fonction min ne me ramène pas l'une des valeurs en sortie.

  8. #8
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 103
    Points : 5 131
    Points
    5 131

    Par défaut

    Pas possible

    Pour vous rafraichir la mémoire suivez ce cours : http://sqlpro.developpez.com/cours/sqlaz/ensembles/

    Si le résultat diffère de ce que vous attendez c'est que :
    - vos données sont différente de ce que vous nous avez présenté.
    - vous avez mal exposé votre besoin

    Indiquez la requête que vous exécuté ainsi qu'un jeu de donné exhaustif qui représente votre cas (entré/sortie)

    PS: ibm dispose de 3 bdd distinct qui évolues pas mal avec les versions, donc indiquer seulement db2 n'est pas suffisant si vous voulez une orientation plus spécifique à votre SGBD

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •