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

Langage SQL Discussion :

Vue multi-tables sans jointure


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 20
    Points : 27
    Points
    27
    Par défaut Vue multi-tables sans jointure
    Bonjour à tous,

    Je dispose de trois tables
    CLIENT
    FOURNISSEUR
    CONTACT
    Les structures de client et fournisseur (nom des champs, etc..) sont identiques et donnent (je ne donne que les champs qui m'intéressent)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    SOC     COMPTE       NOM       TELEPHONE    FAX                                 
    ------  ----------  ------       ----------     -------
    999      101           DURAND      32323333  43434344
    100      223           DUPOND     12233534   8788773
    ...
    clef unique : soc+compte

    La table contact ressemble elle à ceci (uniquement les champs qui m'intéressent)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SOC   ID  TIERS    NM     TYPETIERS  TEL2 FAX2                                    
    ----------------------------------------------------------------------
    999     1    101      PAUL        C        067373733   4343333
    100     2    223      JEAN         F        23323232     7677
    ...

    type tiers : C si client F si fournisseur
    Et je cherche à créer une vue qui me donnerait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SOC  ID  TIERS    NM   TIER2    TYPTIERS  TEL FAX                                   
    ----------------------------------------------------------------------
    999    1    101      PAUL   DURAND     C        32323333  43434344
    100    2    223      JEAN   DUPOND     F        12233534   8788773
    999         101               DURAND     C        067373733   4343333
    100         223               DUPOND     F        873737377   23323232
    ...
    Je travaille sur deux SGBD : Firebird 2 et Microsoft SQL SERVER



    merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 786
    Points
    30 786
    Par défaut
    Une simple UNION comme ça ?
    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
        SELECT  soc   
            ,   id  
            ,   tiers    
            ,   nm     
            ,   typetiers  
            ,   tel2    AS  tel 
            ,   fax2    AS  fax
        FROM    contact
    UNION
        SELECT  soc   
            ,   NULL    AS id  
            ,   tiers    
            ,   nm     
            ,   'C'     AS typetiers  
            ,   tel 
            ,   fax
        FROM    client
    UNION
        SELECT  soc   
            ,   NULL    AS id  
            ,   tiers    
            ,   nm     
            ,   'F'     AS typetiers  
            ,   tel 
            ,   fax
        FROM    fournisseur
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 20
    Points : 27
    Points
    27
    Par défaut
    Ah oui, c'était légèrement stupide de ma part, j'aurais du chercher un peu plus.

    Merci

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

Discussions similaires

  1. Select multi tables sans jointure
    Par yassino01 dans le forum Langage SQL
    Réponses: 18
    Dernier message: 28/03/2012, 10h58
  2. Vue multi table et mise à jour
    Par neptune dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/10/2007, 16h41
  3. DELETE multi-tables avec jointures
    Par Xunil dans le forum Requêtes
    Réponses: 13
    Dernier message: 23/10/2006, 16h44
  4. Regrouper les infos de deux table sans jointure
    Par ricobye dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/07/2005, 09h30
  5. [sql] afficher deux champs de deux tables sans jointure
    Par Hell dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/06/2005, 12h38

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