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 :

[SQL Server] Requête compliquée


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Cpt Anderson
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    651
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 651
    Par défaut [SQL Server] Requête compliquée
    Salut à tous,

    je veux faire une requete avec trois tables:

    TABLE 1
    FA_ID
    FA_CO_ID
    FA_MONTANT

    TABLE 2
    CO_ID
    CO_CODE
    CO_Solde

    TABLE 3
    RE_ID
    RE_CO_ID
    RE_Mnt
    RE_PART

    La liaison entre les tables est CO_ID avec FA_CO_ID et RE_CO_ID.
    Les liens sont 1,n
    Je voudrais dans ma requete, faire CO_Solde - [(Somme(RE_Mnt) - Somme(RE_Part)) - somme(FA_Montant)]

    Si quelqu'un a une idée ?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Par défaut
    Bonjour,

    tu peux essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    select CO_ID, CO_Solde - (RE_Mnt - RE_PART - FA_MONTANT)
    from table2
          inner join (select FA_CO_ID, sum(FA_MONTANT) as FA_MONTANT
                          from table1
                          group by FA_CO_ID) fa
                on CO_ID = FA_CO_ID
          inner join (select RE_CO_ID, sum(RE_Mnt) as RE_Mnt, sum(RE_PART) as RE_PART
                          from table3
                          group by RE_CO_ID) re 
                on FA_CO_ID = RE_CO_ID
    je n'ai pas tester.

    @+

  3. #3
    Membre éclairé Avatar de Cpt Anderson
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    651
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 651
    Par défaut
    Ca a l'air d'être correct. Merci The Russian

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Par défaut
    je peux pas tester et je débute mais je propose ça (en m'inspirant de la réponse précédente):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select CO_ID, CO_Solde - sum(RE_Mnt) + sum(RE_PART) + sum(FA_MONTANT) total
    from table1,table2, table3 
    where CO_ID=FA_CO_ID 
    and CO_ID=RE_CO_ID

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 30/01/2007, 13h37
  2. [SQL 2005] Requête Compliquée
    Par NicoNGRI dans le forum Langage SQL
    Réponses: 7
    Dernier message: 03/05/2006, 15h12
  3. [SQL Server] Requête récursive
    Par margagn dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/04/2006, 04h31
  4. [sql server] requête sur dates et heures (format du résultat
    Par isachat666 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/02/2006, 13h48
  5. [SQL Server]Requête avec DateDiff
    Par sangokus dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 10/05/2004, 14h44

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