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

WinDev Discussion :

Calcul dans une requête SQL


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Points : 30
    Points
    30
    Par défaut Calcul dans une requête SQL
    je développe une application de gestion de cabinet dentaire.
    Voici la base de donnée:

    [IMG][/IMG]

    j'aimerai avoir faire un requête qui me permet d'avoir:
    _ la facture par agence assurance sur un période donné
    _ la facture par compagnie sur un période.


    le problème est que je n'arrive pas à faire les calcule dan le code sql.
    car il faut calculer:
    - cout_intervention = quantité * cout_unitaire
    -somme_prise_en_charge = cout_intervention * prise_en_charge/100
    - la somme à payer= cout_intervention - somme_prise_en_charge

    Étant donné que je n'enregistre pas les rubrique calculée comment je pourrai faire ces calcule dans ma requête SQL
    Help. je suis bloqué depuis plusieurs jours

    voici le code SQL que j'ai écrie pour ma requête mais il ne marche pas:
    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
     
    SELECT 
    Patients.IDPatients AS IDPatients,	
    Patients.Civilite AS Civilite,	
    (Patients.Prenoms_patient + Patients.Nom_patient ) AS Prenoms_patient,		
    Interventions.IDIntervention AS IDIntervention,
    Interventions.IDActes AS IDActes,	
    Actes.Lib_acte AS Designation,		
    Interventions.Date_intervention AS DATE,	
    Interventions.Co��t_unitaire AS Coût_unitaire,	
    Interventions.Quantité AS Quantité,
    Interventions.Prise_en_charge AS Prise_en_charge,	
    Interventions.Co��t_unitaire * Interventions.Quantité AS Cout_total
    ((Interventions.Co��t_unitaire * Interventions.Quantité)* Interventions.Prise_en_charge)/100 AS somme_prise_en_charge
    (Interventions.Co��t_unitaire * Interventions.Quantité)-((Interventions.Co��t_unitaire * Interventions.Quantité)* Interventions.Prise_en_charge)/100 AS Total_à_payer
    Agences_assur.Nom_agce AS Nom_agce,	
    Compagni_assur.Nom_compagnie AS Nom_compagnie
    FROM 
    Compagni_assur,	
    Agences_assur,	
    Interventions,	
    Actes,	
    Patients
    WHERE 
    Patients.IDPatients = Interventions.IDPatients
    AND		Agences_assur.IDAgences = Interventions.IDAgences
    AND		Compagni_assur.IDcomp = Agences_assur.IDcomp
    AND
    (
    Interventions.Date_intervention BETWEEN {deb_periode} AND {fin_periode}
    )
    ORDER BY 
    Nom_patient ASC
    Help. je suis bloqué depuis plusieurs jours

    Voici un Exemple de facture que je souhaite édité.
    [IMG][/IMG]

    mon problème c'est les calcules
    les parenthèses que j'ai mis dans le code sql pour les calcule indique des erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Interventions.Co��t_unitaire * Interventions.Quantité AS Cout_total
    ((Interventions.Co��t_unitaire * Interventions.Quantité)* Interventions.Prise_en_charge)/100 AS somme_prise_en_charge
    (Interventions.Co��t_unitaire * Interventions.Quantité)-((Interventions.Co��t_unitaire * Interventions.Quantité)* Interventions.Prise_en_charge)/100 AS Total_à_payer

  2. #2
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 766
    Points
    1 766
    Par défaut
    Il te manque la liaison entre les fichiers actes et interventions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND	Actes.IDActes = Interventions.IDActes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    j'aimerai avoir faire un requête qui me permet d'avoir:
    _ la facture par agence assurance sur un période donné
    _ la facture par compagnie sur un période.
    Tu veux quoi la somme des factures sur une période ou la liste des factures sur une période ?

    Dans tous les cas il te manque le GROUP BY...
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    il te manque surtout les virgules en fin de ligne ...

    à bientôt,

    Nicolas

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Citation Envoyé par laurent30s Voir le message
    Dans tous les cas il te manque le GROUP BY...
    Le Group By est nécessaire pour les sum mais pas pour les calculs.

  5. #5
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    en complément de Laurent, tu devrais aussi mettre des parenthèses dans ta première ligne de calcul
    Emmanuel Lecoester
    => joomla addict.

  6. #6
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 766
    Points
    1 766
    Par défaut
    Cette requête doit retourner tous ce qui est nécessaire pour l'établissement du document que tu présentes.
    Je n'ai pas testé et il est possible qu'il y ait une coquille, j'ai beaucoup fait de copier coller...

    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
    SELECT 
    	Compagni_assur.Nom_compagnie AS Nom_compagnie,
    	Agences_assur.Nom_agce AS Nom_agce,	
    	SUM(Interventions.Co��t_unitaire * Interventions.Quantité) AS Cout_total,
    	SUM((Interventions.Co��t_unitaire * Interventions.Quantité * Interventions.Prise_en_charge)/100) AS somme_prise_en_charge,
    	SUM(Interventions.Quantité * Interventions.Co��t_unitaire * (Interventions.Prise_en_charge / 100 - 1)) AS Total_à_payer
    FROM 
    	Compagni_assur,	
    	Agences_assur,	
    	Interventions
    WHERE
    	Compagni_assur.IDcomp = Agences_assur.IDcomp
    AND	Agences_assur.IDAgences = Interventions.IDAgences 
    AND
    	(
    		Interventions.Date_intervention BETWEEN {deb_periode} AND {fin_periode}
    	)
    GROUP BY Nom_compagnie,Nom_agce
    Cette requête retourne les donner pour établir toutes les factures de toutes les compagnies pour une période.
    Si tu ne veut que l'a facture d'une compagnie, il te faut ajouter un filtre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	AND	Compagni_assur.IDcomp = {idCompagnie}
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 42
    Points : 30
    Points
    30
    Par défaut Merci
    Merci beaucoup à laurent30s et a vous tous qui avez consacré un temps soit peu à mon Problème.
    je vais essayer la solution de laurent30s et je crois qu'elle va marché.
    il m'a mis sur le chemin en tous cas.
    Merci

Discussions similaires

  1. Calcul dans une requête SQL
    Par legero dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/04/2013, 11h22
  2. Calculer la somme dan une requête SQL avec JTable
    Par kazan dans le forum Composants
    Réponses: 1
    Dernier message: 30/05/2012, 20h58
  3. [AC-2007] Calcul d’1 champ dans une requête SQL selon différents critères
    Par rch05 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/04/2011, 17h44
  4. Récupérer une variable calculée dans une requête SQL
    Par nanar1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/01/2009, 12h45
  5. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 17h29

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