Bonjour,

J'ai une table des commandes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
id_commande, client, date
J'ai une table des reglements des commandes

Une commande pouvant avoir plusieurs règlements et un règlement pouvant payer plusieurs commande, j'ai une table permettant de lier les tables commandes et règlement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
id_commande, id_reglement
Je veux connaître le nombre de commandes réglées par date de commande, je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT date, COUNT(*)
FROM commandes
WHERE id_commande IN
(SELECT DISTINCT id_commande
FROM commandes_liens_reglements)
GROUP BY date
Je veux connaître le total réglé par date de commande :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT date, SUM(montant)
FROM commandes
LEFT OUTER JOIN 
(SELECT id_commande, SUM(montant) AS montant
FROM commandes_liens_reglements
LEFT OUTER JOIN reglements USING(id_commande)
GROUP BY id_commande)
AS commandes_liens_reglements USING(id_commande)
GROUP BY date
Peut-on optimiser ces requetes.

Merci d'avance.