J'ai besoin d'aide pour ne faire qu'une seul requete des deux suivante. Voici mon objectif et les info necessaire, j en ai p-e oublié mais demander les moi!
Pour une firme donnée, a une periode donnée (ici firm 2 periode 200501)
donner par numero, l'index, le montant total, et le montant a soustraire.
la table 'Total' contient des enregistrements d'achats, la deuxieme, 'Retirer', contient les achats qui ont ete refusé.
la premiere requete me permet de retrouvé le montant total des achats
la second permet de retrouver le montant total refusé
Mais comment n'en faire qu'une seul?
(type = type d'enregistrement, pour plusieur type 'detail', correspondent des 'SousTotal', pour le total, faut additionner soit les un, soit les autres...
Il y a donc plusieur numero fixe par firme et un index par numero par periode
travail sous sqlserver, et la requete est a glisser dans du code c#
si il vous faut plus d'info...)
SELECT Numero AS Numero, id1 + id2 AS index, SUM(Somme) AS montant
FROM Total T1
WHERE (Firme = 2) AND (type = 'SousTotal') AND (periode = 200501)
GROUP BY Numero, id1 + id2
Numero index montant
35 050123500013 196,800000190735
32 050123200020 723,910004138947
28 050122800094 252891,239608841
06 050120600016 135,199998244643
16 050121600025 371,180003643036
26 050122600034 18447,18978706
30 050123000057 119537,17980618
+
SELECT SUM(a.Somme) AS montantRetirer, a.Numero AS Numero
FROM Total a INNER JOIN
Retirer b ON a.ligneH * 10 + a.ligneB = b.ligne AND a.Firme = b.Firme AND a.periode = b.periode AND b.type = 40
WHERE (a.Firme = 2) AND (a.periode = 200501) AND (a.type = 'detail')
GROUP BY a.Numero
montantRetirer Numero
318,890000343323 26
3626,94997048378 28
1606,89999461174 30
44,0499992370605 32
= -----------------------------------
ce que je voudrais:
Numero index montant montantRetirer
35 050123500013 196,800000190735 0
32 050123200020 723,910004138947 44,0499992370605
28 050122800094 252891,239608841 3626,94997048378
06 050120600016 135,199998244643 0
16 050121600025 371,180003643036 0
26 050122600034 18447,18978706 318,890000343323
30 050123000057 119537,17980618 1606,89999461174
Merci d'avance !