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

Développement SQL Server Discussion :

Réalisation Requête imbriquée [2008R2]


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Account Manager
    Inscrit en
    Décembre 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Account Manager
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2012
    Messages : 62
    Points : 62
    Points
    62
    Par défaut Réalisation Requête imbriquée
    Bonjour,

    Je fais à nouveau appel à la communautré car je galère pour trouver une solution facilement réalisable en MSSQL

    J'ai 4 tables :

    Table CONTRAT
    -------------------------
    IDContrat | IDActeur
    255 | 38

    Table ACTEUR
    -------------------------
    IDActeur | NomActeur
    38 | Durand

    Table TL_SousContrat
    --------------------------------
    IDContrat | IDActeur
    255 | 38

    Table TL_AssContrat
    -------------------------------
    IDContrat | IDActeur
    255 | 38
    255 | 39

    Vous l'avez compris, mes tables de liaison (TL) permettent à partir d'un même référentiel Acteur d'indiquer si l'acteur joue le role de souscripteur (Table TL_SousContrat) ou Assuré (Table TL_AssContrat)

    Maintenant, j'aimerais bien avoir ceci en finalité (quel acteur dans quel contrat avec quel rôle)

    IDActeur | IDContrat | Role
    ---------------------------------
    38 | 255 | Sous
    38 | 255 | Ass
    39 | 255 | Ass

    Merci beaucoup pour votre aide

    Très cordialement,

  2. #2
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour Stifoun,

    Vous pouvez utiliser un UNION :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT IDActeur, IDContrat, 'Sous' As Role FROM TL_AssContrat
    UNION
    SELECT IDActeur, IDContrat, 'Ass' As Role FROM TL_SousContrat;

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Si toutefois la description des tables fournies est complète, c'est une erreur d'avoir modélisé 2 tables TL_SousContrat et TL_AssContrat strictement identiques
    Il eut été préférable de créer une seule table et de typer la relation entre contrat et acteur (type assuré, type souscripteur, etc...)
    Avec ce modèle, si demain il existe de nouveaux types, vous serez contraint de créer d'autres tables
    Et si l'un des attributs change de type ou de longueur, ou qu'un nouvel attribut doit etre ajouté, ça complexifie la maintenance : modif à faire dans plusieurs tables au lieu d'une seule
    S'il n'est pas trop tard, évoquez ce point avec le concepteur de la base

  4. #4
    Membre du Club
    Homme Profil pro
    Account Manager
    Inscrit en
    Décembre 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Account Manager
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2012
    Messages : 62
    Points : 62
    Points
    62
    Par défaut Merci pour votre aide
    @jcdentons : tout simplement, merci, cela fonctionne très bien ...
    @escartefigue : merci pour ce conseil, je suis le concepteur de la DB et je n'avais pas penser à typer la relation, je ne sais pas si c'est toutefois possible lorsqu'on utlise un front-end de type access.

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Il y a bien longtemps que je n'ai plus utilisé access, mais de mémoire c'est tout à fait possible

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

Discussions similaires

  1. Pb requête imbriquée
    Par ddams dans le forum Requêtes
    Réponses: 11
    Dernier message: 20/04/2004, 12h13
  2. [Requête] Faire une requête imbriquée?
    Par sekiryou dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2004, 22h52
  3. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29
  4. Requêtes imbriquées ?
    Par Ph. B. dans le forum XMLRAD
    Réponses: 7
    Dernier message: 06/05/2003, 13h19
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15

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