p
u
b
l
i
c
i
t
é
publicité

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 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 159
    Points : 5 251
    Points
    5 251

    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 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 159
    Points : 5 251
    Points
    5 251

    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 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 159
    Points : 5 251
    Points
    5 251

    Par défaut

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

    Quelque chose dans le genre devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 159
    Points : 5 251
    Points
    5 251

    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

Discussions similaires

  1. Créer une table par sélection des tables d'entrées
    Par Ouvrier11023 dans le forum Macro
    Réponses: 2
    Dernier message: 15/01/2014, 13h58
  2. Sélection des 7 derniers jours sur une table de faits
    Par Fatah93 dans le forum SAS Base
    Réponses: 4
    Dernier message: 27/04/2009, 13h48
  3. Sélection des dernières lignes d'une table
    Par Civet dans le forum PHP & MySQL
    Réponses: 1
    Dernier message: 25/04/2007, 15h06
  4. Ordre de sélection des lignes sur une table DB2
    Par Pierre Formosa dans le forum DB2
    Réponses: 1
    Dernier message: 26/04/2006, 20h03
  5. Rêquete de sélection avec des tables associative
    Par snoopy69 dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2006, 15h31

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