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

Requêtes et SQL. Discussion :

requête avec lignes et colonnes [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 17
    Points : 15
    Points
    15
    Par défaut requête avec lignes et colonnes
    Bonjour,
    je bloque depuis 2h sur mon projet et je ne sais pas comment faire!

    J'ai 3 tables Secu, remboursement, police. dans la table Secu il ya 3 colonnes (acte, remboursement ss en %,base du remboursement en €), acte a pour valeurs generaliste,spécialiste,ophtal... Dans ma table police, les colonnes ont pour intitulés les valeurs de ma table Secu (donc des colonnes generaliste, spécialiste, ophtal...) et IDassuré . Enfin la table remboursement a une colonne acte qui peut prendre les memes valeurs que la colonne du meme nom de la table secu ( generaliste, spécialiste, ophtal).
    Je souhaite faire une requête qui joigne la table remboursement et les colonnes de secu (remboursement ss en %,base du remboursement en €) et qui me joigne aussi une colonne nommée temp qui contienne les valeurs de la table de police pour l'acte selectionné dans remboursement (le lien entre remboursement et police se fait par IDassuré).
    ce que j'ai fait et qui ne fonctionne pas comme je veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT remboursement.*, SeCU.[remboursement SS en %] AS rembSS, SeCU.[base du remboursement en €], police.* FROM (SeCU INNER JOIN remboursement ON SeCU.acte = remboursement.acte) INNER JOIN police ON remboursement.[IDassuré] = police.[IDassuré];
    merci pour votre aide précieuse.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 777
    Points : 58 179
    Points
    58 179
    Billets dans le blog
    42
    Par défaut
    bonsoir,

    Dans ma table police, les colonnes ont pour intitulés les valeurs de ma table Secu (donc des colonnes generaliste, spécialiste, ophtal...) et IDassuré
    Je flaire l'embrouille...

    Je souhaite faire une requête qui joigne la table remboursement et les colonnes de secu (remboursement ss en %,base du remboursement en €) et qui me joigne aussi une colonne nommée temp qui contienne les valeurs de la table de police pour l'acte selectionné dans remboursement...
    oula, tu as une table Police(#idAssuré, MontantGeneraliste, MontantSpecialiste, MontantOphtal, ...), c'est ça ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    La table police (#idassuré, generaliste, spécialiste, ophtal....) .
    L'idée du truc c'est que chaque assuré a une police qui spécifie le montant de ses remboursements pour chaque actes médicaux (100% ,150%, 200% en fonction de la police).

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 777
    Points : 58 179
    Points
    58 179
    Billets dans le blog
    42
    Par défaut
    Citation Envoyé par létudiant_access
    chaque assuré a une police qui spécifie le montant de ses remboursements pour chaque actes médicaux
    ça se modélise presque comme ça se prononce...

    Il faut une table supplémentaire de jonction entre celle des assurés et celle des actes, ta requête (et sans doute d'autres traitements) sera plus simple à écrire comme cela.
    Images attachées Images attachées  

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    merci,
    mais je n'y arrive toujours pas...
    j'ai mis en pj le fichier. Je veux créer une nouvelle colonne temp qui contienne la valeur de la police de la colonne de l'acte correspondant à celui de remboursement.
    Fichiers attachés Fichiers attachés

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 777
    Points : 58 179
    Points
    58 179
    Billets dans le blog
    42
    Par défaut
    bonjour,

    ce sont tes champs de la table Police reprenant les intitulés du champ acte de Secu qui compliquent la chose.

    Comme je te le disais dans mon précédent message, il te faut une table supplémentaire que j’ai appelé SpecifierMontantRemboursement.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SpecifierMontantRemboursement :
    
    idAssuré	idActe		MontantRemboursement
    1		1		100
    1		2		200
    1		3		200
    1		4		100
    …
    Tu peux supprimer tes colonnes "médecins généralistes", "médecins spécialistes…", etc. Les montants sont maintenant disposés en lignes (1 ligne par assuré et par acte)

    Concernant les remboursements, tu conserves ton schéma :
    AssuréPolice-1-----∞-Remboursement-∞------1-Acte

    Pour avoir le MontantRemboursement, il suffit de faire la jointure entre Remboursement et SpecifierMontantRemboursement sur les deux champs idAssuré, idActe.

    Tu me suis ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Merci!

    Ça fonctionne parfaitement!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/02/2012, 13h21
  2. Rapidité requête avec where ou colonne additionnelle
    Par Marc_L dans le forum Développement
    Réponses: 15
    Dernier message: 24/05/2011, 19h38
  3. Requête avec nom de colonne intégrant une variable
    Par pentoneal dans le forum PL/SQL
    Réponses: 6
    Dernier message: 19/10/2009, 14h48
  4. Requête avec exclusion de colonnes
    Par lemfi dans le forum Langage SQL
    Réponses: 8
    Dernier message: 31/01/2008, 13h38
  5. Requête : Transformer lignes en colonnes
    Par bleu_ciel dans le forum Access
    Réponses: 6
    Dernier message: 27/05/2006, 21h26

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