PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Problème de requête : urgent
Problème de requête : urgent
Iniciado por masdivers, 10,nov. 2004 15:52 - 2 respuestas
Publicado el 10,noviembre 2004 - 15:52
Rebonjour,

j'essaye de réaliser un listing dont l' Identifiant client est la relation simple des
3 autres fichiers. Grâce à quelques gentilles et patientes personnes du forum les clients se listent maintenant même si un client a 1 achat mais pas d'acompte et 2 travaux.
SELECT CLIENT.NomClient,
SUM(COMMANDE.TotalTTC) AS TotalTTC
FROM CLIENT LEFT OUTER JOIN COMMANDE
ON (CLIENT.NumClient = COMMANDE.NumClient)
GROUP BY CLIENT.NomClient

Toutefois, les totaux sont archifaux pour les clients dont il n'y a pas au moins
1 achat minimum ainsi que 1 travail et 1 acompte. Incroyable

Je n'en reviens pas que ce soit si compliqué de faire un listing du genre :

N° Client Nom Client Ses Achats Ses Travaux Ses Acomptes
1 CLIENT 1 0.00 1'200.00 0.00
2 CLIENT 2 1000.00 1'000.00 0.00
3 CLIENT 3 200.00 0.00 500.00

etc...
______________________________________________
CLIENT 1 1200.00 2'200.00 500.00

Est-ce que quelqu'un aurait la solution ?


Mille mercis d'avance

Cordiales salutations
Publicado el 10,noviembre 2004 - 17:10
Je reviens à la charge : avez-vous essayé ma solution (elle, elle fonctionne car je l'utilise pas mal). la seule chose pour que cela fonctionne, il faut que la commande select autorise les sous-requètes. personnellement (en accès natif, par ODBC, par OLE) pas de pb avec.
Voir avec votre BdD si cela peut fonctionné.
Salutations
Publicado el 10,noviembre 2004 - 17:28
Bis repetitas :

select a.client,
(select sum(achats) from tbl_achats where client = a.client) ,
(select sum(travaux) from tbl_travaux where client = a.client),
(select sum(acomptes) from tbl_acomptes where client = a.client)
from clients a
group by a.client

fonctionne sous SQL2000 (testé) voir avec votre bdD (doit admettre les sous-requètes dans la clause select)
soluce un peu "boeuf" mais ok !

salutations