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

MS SQL Server Discussion :

Recuperer les champs de deux SELECT dans une procedure stockée


Sujet :

MS SQL Server

  1. #1
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut Recuperer les champs de deux SELECT dans une procedure stockée
    Bonsoir,

    Es-ce que je peux effectuer deux SELECT provenant de tables différentes comme suit ? :
    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
     
    CREATE PROCEDURE sp_select_creance
    (
    @CodeUsager varchar(10)
    )
     
    AS
    BEGIN
    SELECT
     SUM((table_releve.montant)*table_ligne_taxe.taux_taxe/100) AS TotalTaxe,
     SUM(DISTINCT table_releve.montant) AS TotalHt
     
     FROM
     table_facture
     
      LEFT JOIN table_releve ON (table_facture.code_usager = table_releve.code_usager)
      LEFT JOIN table_ligne_taxe ON (table_facture.id_fact = table_ligne_taxe.id_fact)
      WHERE (table_facture.code_usager=@CodeUsager)
     
     SELECT SUM(montant_reg) AS TotalReglement FROM table_reglement
     WHERE (table_reglement.code_usager=@CodeUsager)
     
     
    END
    Le problème est que je ne peux récuperer que les champs de selection d'aggregation du 1er SELECT et pas du 2eme.

    Je vous remercie pour votre aide.
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    cherche un truc comme ca

    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
    CREATE PROCEDURE sp_select_creance
    (
    @CodeUsager varchar(10)
    )
     
    AS
    BEGIN
    SELECT
     SUM((table_releve.montant)*table_ligne_taxe.taux_taxe/100) AS TotalTaxe,
     SUM(DISTINCT table_releve.montant) AS TotalHt,SUM(montant_reg) AS TotalReglement 
     
     FROM
     table_facture
     
      LEFT JOIN table_releve ON (table_facture.code_usager = table_releve.code_usager)
      LEFT JOIN table_ligne_taxe ON (table_facture.id_fact = table_ligne_taxe.id_fact)
      LEFT OUTER JOIN table_reglement on table_reglement.code_usager=@CodeUsager
     
      WHERE (table_facture.code_usager=@CodeUsager)
     
     
     
    END
    Errare humanum est, perseverare diabolicum (Sénèque)

  3. #3
    Membre éclairé Avatar de freud
    Homme Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    1 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 271
    Points : 681
    Points
    681
    Par défaut
    Bonjour et merci serge. J'ai tester ton code mais il ne renvoi pas les données attendues. Par contre, j'ai un trouver un remède à mon code il devient comme suit :
    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
     
    CREATE PROCEDURE sp_select_creance
    (
    @CodeUsager varchar(10)
    )
     
    AS
     
    DECLARE @TotalHt Money
    DECLARE @TotalTaxe Money
    DECLARE @TotalReglement Money
     
     
    BEGIN
    SELECT @TotalTaxe = SUM((table_releve.montant)*table_ligne_taxe.taux_taxe/100) ,@TotalTaxe = SUM(DISTINCT table_releve.montant) 
     
     FROM
     table_facture
     
      LEFT JOIN table_releve ON (table_facture.code_usager = table_releve.code_usager)
      LEFT JOIN table_ligne_taxe ON (table_facture.id_fact = table_ligne_taxe.id_fact)
     
      WHERE (table_facture.code_usager=@CodeUsager)
     
     SELECT @TotalReglement = SUM(montant_reg) FROM table_reglement  WHERE (table_reglement.code_usager=@CodeUsager)
     
    SELECT  @TotalHt AS TotalHt, @TotalTaxe AS TotalTaxe,  @TotalReglement AS TotalReglement
     
    END
    Sauf qu'apparement il semble trop charger mais il fonctionne bien et en attendant de trouver mieux
    Si quelqu'un t'a offensé, ne cherche pas à te venger; assieds-toi au bord de la rivière et, bientôt, tu verras passer son cadavre.

    Lao Tseu - un sage chinois

    Celui qui lutte contre les monstres doit veiller à ne pas le devenir lui-même.
    Et quand ton regard pénètre longtemps au fond d'un abîme, l'abîme, lui aussi, pénètre en toi.

    Friedrich Nietzsche - Par délà le bien et le mal

Discussions similaires

  1. [DATA] Recuperer les champs de ta table dans une macro variable
    Par Deciprog dans le forum SAS Base
    Réponses: 5
    Dernier message: 04/05/2010, 11h05
  2. Relier les champs de deux tables dans une interface graphique
    Par laurentlorient dans le forum Débuter
    Réponses: 1
    Dernier message: 26/04/2009, 22h34
  3. un select dans une procedure stockée
    Par alassane0101 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 16/07/2008, 18h49
  4. Réponses: 1
    Dernier message: 24/08/2006, 21h07
  5. Comment recuperer les info d'un formulaire dans une boite de dialogue
    Par frutix dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/05/2006, 11h42

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