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 :

creer une requete liant 2 tables, sans cle etrangere


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut creer une requete liant 2 tables, sans cle etrangere
    Salut tout le monde, j´aimerais avoir comme resultat, 2 champs provenant de 2 tables qui n´ont rien en commun et cela dans une seule requete. Je m´explique :
    j´ai 2 tables TabA(Ida, NomA, PrenomA)
    et TabB(Idb, NomB, PrenomB),
    et j´aimerais avoir NomA et NomB comme resultat d´une requete, de tel enseigne que j´ai une liste composée du couplet (NomA,NomB).
    Est ce posible en une requette? si oui comme le faire.
    j´ai commencé par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select distinct NomA, ' ' as NomB
      From TabA
    union
    Select distinct ' ' As NomA, NomB
      From TabB
    , le probleme ce sont les vides, comment faire pour les faire disparaitre

    Merci d´avance pour votre aide.

  2. #2
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour,

    tu devrais peut etre envoyer des jeux de test :

    des données de la table 1

    des données de la table 2

    le resultat que tu veux avoir car comment tu determines ton couple ???

    et la version Oracle

  3. #3
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    voici a peu-pres a koi ressemble mes 2 Tables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    TabA 
     
    Ida      NomA    PrenomA
     
    1        Piet       Sapin
    2        Gray      Davids
    3        MC        Donavan
    4        Karl       eric       
     
     
    TabB 
     
    Idb      NomB    PrenomB
     
    1         Dobi        Amina
    2         Sand       Celine
    3         Kolie        Romuald


    Avec ma requete, j´ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    NomA         Nomb
     
    Piet              
    Gray            
    MC 
    Karl  
                   Amina           
                   Celine
                   Romuald


    Ce que je voudrais avoir est plutôt ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    NomA         Nomb
     
    Piet          Amina         
    Gray         Celine  
    MC           Romuald
    Karl

    Merci

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Ca serte rarement à quelque chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0 
    Connected as mni
     
    SQL> 
    SQL> with tabA As (
      2  Select 1 As ida, 'Piet' As NomA, 'Sapin' As PrenomA From dual union all
      3  Select 2, 'Gray', 'Davids' From dual union all
      4  Select 3, 'MC', 'Donavan' From dual union all
      5  Select 4, 'Karl', 'eric' from dual
      6  ),
      7  TabB As (
      8  Select 1 As idb, 'Dobi' As NomB, 'Amina' As PrenomB From dual union all
      9  Select 2, 'Sand', 'Celine' From dual union all
     10  Select 3, 'Kolie', 'Romuald' From dual
     11  ),
     12  Dat1 As (
     13  Select rownum cle, tabA.*
     14    from tabA
     15  ),
     16  Dat2 As (
     17  Select rownum cle, tabb.*
     18    from tabB
     19  )
     20  Select cle, nomA, PrenomB
     21    From Dat1 FULL OUTER JOIN Dat2 Using (cle)
     22  /
     
           CLE NOMA PRENOMB
    ---------- ---- -------
             1 Piet Amina
             2 Gray Celine
             3 MC   Romuald
             4 Karl 
     
    SQL>

  5. #5
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    Salut Mnitu,
    mais avec cette requete il me faudra connaitre le contenu de ma base, alors si j´ai 1 million d´entrées alors c´est pas gagné.

  6. #6
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Presenté comme tel, en effet , je me demande a quoi diantre ca peut bien servir , mais bon

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select noma ,prenomb from taba
    full outer join tabb
    on ida=idb
    /

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    NOMA                                     PRENOMB
    ---------------------------------------- -------------------
    Piet                                     Amina
    Gray                                     Celine
    MC                                       Romuald
    Karl

  7. #7
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par jeffray03 Voir le message
    Salut Mnitu,
    mais avec cette requete il me faudra connaitre le contenu de ma base, alors si j´ai 1 million d´entrées alors c´est pas gagné.
    Mais non. Tous ce que tu doit prendre de mon exemple est l'idée de «*fabriquer*» une clé et d'utiliser le Outer Join. Et de ne pas oublier de jeter un œil sur la syntaxe du WITH et les CTEs.

  8. #8
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    je vais essayer voir, mais la il me faut parcourir de facon methodique toute les tables donc?

Discussions similaires

  1. Creer une requete update qui recupere les données de 2 tables
    Par pooi1 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/06/2007, 13h13
  2. Réponses: 2
    Dernier message: 13/05/2006, 13h25
  3. Une requete sur 3 tables différentes. [Le retour]
    Par CritikKiller dans le forum Requêtes
    Réponses: 11
    Dernier message: 13/03/2006, 01h43
  4. Creer une VUE de 2 table
    Par snoopy69 dans le forum Access
    Réponses: 2
    Dernier message: 13/10/2005, 14h34
  5. Creer une requete avec des LEFT JOIN et des GRO
    Par donbuz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/09/2004, 15h53

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