簡體   English   中英

SQL Server:在同一列中的行之間減去或求和然后更新結果

[英]SQL Server: subtract or sum between rows in the same column then update the results

我有一個表我的 MS SQL Server,它有一個標准的行類型BID 我想從availableAmount列中的BID中減去所有行類型ASK ,然后將結果更新到同一列的BID行中。 同時,我想計算行類型ASKfulfilledAmount的總和,然后將結果更新到行類型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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM