我有下表:
| 類別 | 數量 | 命令 | 等級 |
|---|---|---|---|
| 產品 | 0 | ||
| 第1部分 | 2 | 4 | 1 |
| 第2部分 | 3 | 5 | 1 |
| 第 1.1 部分 | 4 | 6 | 2 |
| 第 1.2 部分 | 5 | 7 | 2 |
如何使用數量和訂單的總和(不包括 0 級的數量和訂單)更新上表的 0 級行?
IE
| 類別 | 數量 | 命令 | 等級 |
|---|---|---|---|
| 產品 | 14(即2 3 4 5) | 22(即4 5 6 7) | 0 |
| 第1部分 | 2 | 4 | 1 |
| 第2部分 | 3 | 5 | 1 |
| 第 1.1 部分 | 4 | 6 | 2 |
| 第 1.2 部分 | 5 | 7 | 2 |
uj5u.com熱心網友回復:
您可以使用使用子查詢或 CTE 的 Update 陳述句,但我認為實際上您的表在沒有任何 Id 的情況下不會如此簡單(例如,將所有這些 Part* 鏈接到特定產品的 id。無論如何,如是:
Update myTable
set Qty = agg.Qty, Orders=agg.Orders
from (Select Sum(Qty) Qty, Sum(Orders) Orders from myTable where level > 0) agg
where level=0;
DBFiddle 演示
uj5u.com熱心網友回復:
Update TableName
set Qty = (select Sum(Qty) from TableName where Level<>0),
Orders = (select Sum(Qty) from TableName where Level<>0 )
where Level = 0
uj5u.com熱心網友回復:
UPDATE yourtablename set qty =
(Select sum(qty) from yourtablename
Where level != 0),
orders =
(Select sum(orders) from yourtablename
Where level != 0)
where level = 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/425863.html
