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 :

Requete sur 3 tables


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 148
    Par défaut Requete sur 3 tables
    Bonjour,
    Voila mon probleme, j'ai un soucis sur la reponse a ma requete.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Numéro   Acompte   Affaire      Region     Agence  Mont HT  TTC   Mont Acpt
    109536   110449    ville de    SUD OUEST  jaune    NULL       NULL     346.24
    110498		   treste	EST            Rouge  4952.00	5546.24 NULL
    Mais j'aimerai que si il y a un acompte qu'il mette aussi le "montant HT" et "TTC" de la facture a la place de "NULL" (exemple 1). Pour l'exemple 2 c'est bon.
    Voici le code:
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    SELECT
    T.Numéro,
    T.Acompte,
    T.Affaire,
    T.Region,
    T.Agence,
    T.Montant_HT,
    T.Montant_TTC,
    T.Montant_Acpt
    FROM (
    		SELECT
    			T1.[Document No_] "Numéro",
    			T2.[N° facture Acompte Lié] "Acompte",
    			T1.[N° Affaire] "Affaire",
    			T1.[Région] "Region",
    			T1.[Responsibility Center] "Agence",
    			T1.[Sales (LCY)] "Montant_HT",
    			T1.[Montant CATTC] "Montant_TTC",
    			NULL AS Montant_Acpt
    		FROM	
    			dbo.[SOCIETE$Cust_ Ledger Entry] T1,
    			dbo.[SOCIETE$Sales Invoice Header] T2
    		WHERE
    			T1.[Document No_] =  T2.No_
    			AND T1.[Open] = 1
    			AND T1.[Document Type] = 2
    UNION ALL
    		SELECT 
    			T4.[N° facture Acompte Lié] "Acompte",
    			T4.[No_] "Numéro",
    			T4.[Job No_] "Affaire",
    			T3.[Région] "Region",
    			T3.[Responsibility Center] "Agence",
    			NULL AS Montant_HT,
    			NULL AS Montant_TTC,
    			T3.[Amount Including VAT] "Montant_Acpt"
    		FROM 
    			dbo.[SOCIETE$Sales Invoice Header] T4,
    			dbo.[SOCIETE$Sales Invoice Line] T3
    		WHERE
    			T4.[N° facture Acompte Lié] = T3.[Document No_]
    			AND T4.[N° facture Acompte Lié] <> ''
    )T
    ORDER BY Numéro
    Merci pour votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Essayez :

    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
    34
    35
    36
    SELECT T.Numéro,
    		T.Acompte,
    		T.Affaire,
    		T.Region,
    		T.Agence,
    		ISNULL(T.Montant_HT, T.Montant_Acpt) AS T.Montant_HT,
    		ISNULL(T.Montant_TTC, T.Montant_Acpt) AS T.Montant_TTC,
    		T.Montant_Acpt
    FROM
    (
    		SELECT T1.[Document No_] AS Numéro,
    				T2.[N° facture Acompte Lié] AS Acompte,
    				T1.[N° Affaire] AS Affaire,
    				T1.[Région] AS Region,
    				T1.[Responsibility Center] AS Agence,
    				T1.[Sales (LCY)] AS Montant_HT,
    				T1.[Montant CATTC] AS Montant_TTC,
    				NULL AS Montant_Acpt
    		FROM dbo.[SOCIETE$Cust_ Ledger Entry] T1
    		INNER JOIN dbo.[SOCIETE$Sales Invoice Header] T2 ON T1.[Document No_] =  T2.No_
    		WHERE T1.[Open] = 1
    		AND T1.[Document Type] = 2
    	UNION ALL
    		SELECT T4.[N° facture Acompte Lié] AS Acompte,
    				T4.[No_] AS Numéro,
    				T4.[Job No_] AS Affaire,
    				T3.[Région] AS Region,
    				T3.[Responsibility Center] AS Agence,
    				NULL AS Montant_HT,
    				NULL AS Montant_TTC,
    				T3.[Amount Including VAT] Montant_Acpt
    		FROM dbo.[SOCIETE$Sales Invoice Header] T4
    		INNER JOIN dbo.[SOCIETE$Sales Invoice Line] T3 ON T4.[N° facture Acompte Lié] = T3.[Document No_]
    		AND T4.[N° facture Acompte Lié] <> ''
    ) AS T (Acompte, Numéro, Affaire, Region, Agence, Montant_HT, Montant_TTC, Montant_Acpt)
    ORDER BY Numéro
    En aucun cas une colonne n'est une valeur, donc ne l'encadrez ni par des guillemets ni par des codes
    Précisez vos jointures dans le FROM et pas dans le WHERE.

    @++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 148
    Par défaut
    Merci CTEMan,
    Mais non ca ne marche pas.
    Car je voudrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		T.Numéro,      Si
    		WHERE T1.[Open] = 1
    		AND T1.[Document Type] = 2
    on indique les montants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    				T1.[Sales (LCY)] AS Montant_HT,
    				T1.[Montant CATTC] AS Montant_TTC,
    Et si en plus il y a un acompte sur la facture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		T.Acompte,
    on affiche le montant de l'acompte		T.Montant_Acpt
    Dans votre solution je n'ai que le montant
    je me suis peut etre mal pris.
    merci de votre aide

Discussions similaires

  1. besoin d'aide -> requete sur 2 tables avec count()
    Par parksto dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/10/2005, 19h06
  2. requete sur 2 tables mysql
    Par PAYASS59 dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/09/2005, 11h48
  3. Pb requete sur 2 tables
    Par panini182 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 09/08/2005, 17h26
  4. Requete sur deux tables
    Par ReaseT dans le forum ASP
    Réponses: 13
    Dernier message: 07/02/2005, 16h18
  5. [MS-SQL]requete sur 3 tables
    Par pascalT dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/04/2003, 11h24

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