[WD14]ajouter un somme dans une requête à partir d'une autre requête

Le
toto
Bonjour,

Dans une requête je désire avoir un calcul basé sur une autre requête :

Voici un exemple où justement je cherche la bonne syntaxe

select
id_client,
nom,
somme=(select sum(facture.ttc) from facture where facture.payeeúux et
facture.id_client=client.id_client)
from client

je désire avoir la somme des factures non payées par client

Une idée sur la syntaxe ?

merci

Vincent
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tanguy
Le #21428091
Bonjour,

Dans une requête je désire avoir un calcul basé sur une autre requête :

Voici un exemple où justement je cherche la bonne syntaxe

select
id_client,
nom,
somme=(select sum(facture.ttc) from facture where facture.payeeúux et
facture.id_client=client.id_client)
from client

je désire avoir la somme des factures non payées par client

Une idée sur la syntaxe ?

merci

Vincent



le cas classique du SUM() ... GROUP BY

select client.id_client, client.nom, sum(facture.ttc) as somme
FROM facture
LEFT JOIN client ON client.id_client = facture.id_client
WHERE facture.payeeúux
GROUP BY client.id_client, client.nom

--
Contact : http://tanguy.ath.cx
toto
Le #21428201
Le 23/03/2010 21:22, Tanguy a écrit :
Bonjour,

Dans une requête je désire avoir un calcul basé sur une autre requête :

Voici un exemple où justement je cherche la bonne syntaxe

select
id_client,
nom,
somme=(select sum(facture.ttc) from facture where facture.payeeúux
et facture.id_client=client.id_client)
from client

je désire avoir la somme des factures non payées par client

Une idée sur la syntaxe ?

merci

Vincent



le cas classique du SUM() ... GROUP BY

select client.id_client, client.nom, sum(facture.ttc) as somme
FROM facture
LEFT JOIN client ON client.id_client = facture.id_client
WHERE facture.payeeúux
GROUP BY client.id_client, client.nom




merci pour cette réponse rapide !
je ne veux pas être difficile :) , mais les clients n'ayant pas de
facture non payée (somme=0) sont-ils visibles ?
Tanguy
Le #21428191
Le 23/03/2010 21:22, Tanguy a écrit :
Bonjour,

Dans une requête je désire avoir un calcul basé sur une autre requête :

Voici un exemple où justement je cherche la bonne syntaxe

select
id_client,
nom,
somme=(select sum(facture.ttc) from facture where facture.payeeúux
et facture.id_client=client.id_client)
from client

je désire avoir la somme des factures non payées par client

Une idée sur la syntaxe ?

merci

Vincent



le cas classique du SUM() ... GROUP BY

select client.id_client, client.nom, sum(facture.ttc) as somme
FROM facture
LEFT JOIN client ON client.id_client = facture.id_client
WHERE facture.payeeúux
GROUP BY client.id_client, client.nom




merci pour cette réponse rapide !
je ne veux pas être difficile :) , mais les clients n'ayant pas de facture
non payée (somme=0) sont-ils visibles ?


ajoute dans ce cas a la fin :

HAVING somme > 0

ou si ca ne fonctionne pas

HAVING sum(facture.ttc) > 0


PS: j'ai l'impression d'etre en interro de cours SQL.... meme si j'ai
jamais appris le SQL pendant mes études d'informatique (iut et bts)!

--
Contact : http://tanguy.ath.cx
Tanguy
Le #21428181
n'ayant pas de facture non payée



j'ai mal compris ta question je crois...

Non, s'il n'y a pas d'enregistrement dans la table facture, ils
n'apparaissent pas...


si tu veux tous les clients et le total de leur achats, il faut
inverser les tables entre le FROM et le LEFT JOIN (ou mettre RIGHT
JOIN)

--
Contact : http://tanguy.ath.cx
Publicité
Poster une réponse
Anonyme