比方說,我有table1
:Mysql更新與JOIN?
ID1 | COUNT
-----------
1 | 0
2 | 0
和table2
:
ID2 | COUNT|ID1
-----------------
1 | 1 | 1
2 | 2 | 2
3 | 3 | 1
我的目標是獲得來自table2
通過ID1s分組計數table1
總和,一個update
後的結果將是:
ID1 | COUNT
-----------
1 | 4
2 | 2
讓我困惑的是
SELECT *
FROM table2 t2 left outer join table1 t1 on t1.id1=t2.id1;
返回3行,但
UPDATE table2 t2 left outer join table1 t1 on t1.id1=t2.id1
SET t1.count=t1.count+t2.count;
更新僅2行,併產生
ID1 | COUNT
-----------
1 | 1
2 | 2
有沒有人有什麼樣的正確update
聲明將想法? P.S.我知道我可以用SUM
做點什麼,但在我的情況下,table1
比table2
有更多的記錄,所以總和效率會很低。
你是否想得到你所提到的結果?或者你想更新? –
我想更新,將離開table2在我提到的狀態。 –