看板 Database 關於我們 聯絡資訊
資料庫名稱:Microsoft SQL Server Management Studio 資料庫版本:11.0.2100.60 內容/問題描述: 各位版友好 有兩個Table1和Table2如下: Table1 Table2 id daily_points id SUM_point ---------------------- -------------------- 1 55 1 2 66 2 3 77 3 1 11 4 2 22 5 3 33 6 現在想把Table1相同id的daily_points都相加起來 接著丟到Table2的SUM_point (兩個Table的id是相同的) 因此得到的結果如下: Table2 id SUM_point -------------------- 1 66 2 88 3 110 4 0 5 0 6 0 請問語法該怎麼下會比較恰當呢? 麻煩了,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.21.87 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1459935243.A.C23.html
moyasi: 你到底是要insert還是要update啊 04/06 17:54
yuan0304: update的話~試試~下面的 04/07 00:18
yuan0304: UPDATE table2 o INNER JOIN( 04/07 00:19
yuan0304: SELECT id, SUM(daily_points) 'sumu' FROM table1 04/07 00:19
yuan0304: GROUP BY id) i ON o.id = i.id 04/07 00:19
yuan0304: SET o.SUM_point = IsNull(i.sumu,0) 04/07 00:20
抱歉 應該是insert才對 Table2內無任何資料,發文時腦袋沒想清楚= =" 期望結果: Table2 id SUM_point -------------------- 1 66 2 88 3 110 ※ 編輯: renmax (61.216.21.87), 04/07/2016 09:59:43
winall: 這有很多問題都必須先假設 04/07 11:51
winall: 1. 是否有ID表 04/07 11:51
winall: 2. Table2是否需先delete再Insert? 04/07 11:51
winall: 沒有ID表怎麼知道Table2的ID是1~6? 04/07 11:52
renmax: Table1有ID Table2全空 無須delete 直接insert 04/07 11:53
winall: 我當然知道Table1有ID,問題是有些ID在Table2要補0 04/07 12:02
winall: 直接Insert所以Table2的表只有一次性? 04/07 12:03
renmax: 是的 只有一次性 Table1有的ID再騰到Table2就好 04/07 12:08
winall: 哀,你還是不懂我的意思,Table1沒有ID 4~6,你怎麼在一個空 04/07 12:18
winall: 的Table2 ID知道 4~6 要補0,否則你舉的例子就有問題 04/07 12:19
winall: 不管ID 4~6的問題 04/07 12:31
winall: insert into Table2 04/07 12:31
winall: select id,sum(daily_points) 04/07 12:31
winall: from Table1 04/07 12:31
winall: group by id 04/07 12:32
renmax: 抱歉@@" 但已用您上面的方法解決了 謝謝<(_ _)> 04/07 16:08