[英]SQL Server: subtract or sum between rows in the same column then update the results
我有一個表我的 MS SQL Server,它有一個標准的行類型BID
。 我想從availableAmount
列中的BID
中減去所有行類型ASK
,然后將結果更新到同一列的BID
行中。 同時,我想計算行類型ASK
的fulfilledAmount
的總和,然后將結果更新到行類型BID
的同一列中。 我仍在學習 SQL,但是有可能完成這個復雜的過程嗎?
編輯
例子:
執行前:
id | type | availableAmount | fulfilledAmount |
-----+------+-----------------+-----------------+
abcv | ASK | 500 | 500 |
xyzs | ASK | 600 | 600 |
scwd | BID | 10000 | 0 |
cd21 | ASK | 1300 | 1300 |
sadc | ASK | 3400 | 3400 |
2w3e | ASK | 2500 | 2500 |
執行后:
id | type | availableAmount | fulfilledAmount |
-----+------+-----------------+-----------------+
abcv | ASK | 500 | 500 |
xyzs | ASK | 600 | 600 |
scwd | BID | 1700 | 8300 |
cd21 | ASK | 1300 | 1300 |
sadc | ASK | 3400 | 3400 |
2w3e | ASK | 2500 | 2500 |
如果我理解正確,您需要以下內容:
UPDATE myTable
SET availableAmount = availableAmount - (
SELECT SUM(availableAmount)
FROM myTable
WHERE TYPE = 'ASK'
)
,fulfilledAmount = (
SELECT SUM(fulfilledAmount)
FROM myTable
WHERE TYPE = 'ASK'
)
WHERE TYPE = 'BID'
AND ID ='scwd'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.