Disons que je table1
:Mysql UPDATE avec JOIN?
ID1 | COUNT
-----------
1 | 0
2 | 0
et table2
:
ID2 | COUNT|ID1
-----------------
1 | 1 | 1
2 | 2 | 2
3 | 3 | 1
Mon but serait entrer en table1
sommes des comptes de table2
regroupés par ID1s, résultat après une update
serait:
ID1 | COUNT
-----------
1 | 4
2 | 2
ce qui me trouble est
SELECT *
FROM table2 t2 left outer join table1 t1 on t1.id1=t2.id1;
renvoie 3 lignes, mais
UPDATE table2 t2 left outer join table1 t1 on t1.id1=t2.id1
SET t1.count=t1.count+t2.count;
mises à jour seulement 2 lignes et produit
ID1 | COUNT
-----------
1 | 1
2 | 2
Est-ce que quelqu'un a des idées de ce que la déclaration de la update
appropriée serait? P.S. Je sais que je pourrais faire quelque chose avec SUM
mais dans mon cas table1
a beaucoup plus d'enregistrement que table2
, donc les sommes seraient inefficaces.
voulez-vous obtenir les résultats que vous avez mentionnés? ou voulez-vous mettre à jour? –
Je veux UPDATE qui laisserait table2 dans l'état que j'ai mentionné. –