Salut,
Soit la base de données
CLIENT > num_cli
ACHAT > num_cli (etrangere), date_expiration, int_reste
Je voudrais afficher pour chaque client son solde d'unités restantes encore valides.
J'ai fait ca:
SELECT client.num_cli, MIN(achat.date_expiration) AS date_min, SUM(achat.int_reste) AS reste_tot
FROM achat RIGHT OUTER JOIN
client ON achat.num_cli = client.num_cli
WHERE (achat.date_expiration > { fn NOW() }) AND (achat.int_reste > 0)
GROUP BY client.num_cli |
et j'obtiens...
num_cli date_min reste_tot
4 20/02/2004 11:43:00 150 |
Bon les données sont correctes mais si j'ai fait un OUTER JOIN c'était pour avoir une logne de résultat pour chaque client, de ce type:
num_cli date_min reste_tot
1 <null> 0
2 <null> 0
3 <null> 0
4 20/02/2004 11:43:00 150 |
Et du coup, je vois pas comment faire, vu que les fonctions min() et sum() éliminent les lignes correspondant à un client n'ayant fait aucun achat...
Vous auriez une idée?
Message édité par goueg le 22-01-2004 à 16:07:06