Bonjour
J'ai une table T1 (contenu) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
DATEACHAT                 NOM                  ALIMENT    NB                     
------------------------- -------------------- ---------- ---------------------- 
01/01/09                  DUPONT               ORANGE     10                     
05/01/09                  DUPONT               ORANGE     0
une table t2 (contenu) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
NOM                  ALIMENT    NB                     
-------------------- ---------- ---------------------- 
DUPONT               ORANGE     0                      
DUPONT               BANANE     0                      
MARTIN               ORANGE     0                      
MARTIN               BANANE     0
- Ma requete
update T2
set t2.nb = (select count(*) from t1 where t1.NB != 0
and t1.nom = t2.nom and t1.ALIMENT = t2.aliment
group by nom,aliment)

Je veux compter le nbre de fois ou telle personne a acheté tel aliment et le mettre à jour dans ma table T2 (cette dernière étant initialisée avec tous les agrégats possibles)

et le update fait cela
*Action:
4 rows updated

DUPONT ORANGE 1
DUPONT BANANE (null)
MARTIN ORANGE (null)
MARTIN BANANE (null)

Moi je ne voudrais mettre à jour que la ligne concernée soit
DUPONT ORANGE 1 ==> 1 row updated

Quelqu'un a t'il une idée ?
Merci d'avance