簡體   English   中英

從一個表動態獲取行並從其他表獲取值將其匯總並插入到目標表中

[英]fetch rows dynamically from one table and get values from other table sum it up and insert into target table

x table有列( Agencydatac
Y表有列( Agencynametotal

Agency | datac
NET    | 100 
GOO    | 300 
NET    | 100 
GOO    | 100 

Agencyname | total
NET        |  
GOO        | 

第一個客戶添加Agencyname然后它在表Y上獲得更新
從html的下拉菜單中我已經讓用戶選擇了NETGOO但我想要的是他們可以在表X輸入多少個值。
我希望他們的total sum能夠插入表Y 所以我的預期輸出看起來像這樣

Agencyname | total
NET        | 200
GOO        | 400

最直接的方式可能是子查詢的更新;

UPDATE TableY
SET total = (SELECT SUM(datac) FROM TableX WHERE Agency=AgencyName)

一個要測試的SQLfiddle

UPDATE Y
SET Y.total = X.Total
FROM TABLE_Y Y INNER JOIN 
                  (
                    SELECT Agency, SUM(datac) AS Total
                    FROM TABLE_X 
                    GROUP BY Agency
                  ) X
ON Y.Agencyname = X.Agency

SQL FIDDLE TEST

SELECT agency, SUM(datac) FROM x GROUP BY agency

您想將其與INSERT INTO結合使用。

雖然我沒有看到緩存這個易於計算的值的意義......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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