[英]SQL Add to Existing Table from Temp Table
我正在建立一個籃球統計數據庫,並且在SQL中有一張表格,其中包含所有球員所有比賽的總和。 不過,我在添加時遇到了麻煩。 我為每個游戲使用一個臨時表,然后將所有臨時值添加到玩家的總表中。 我該怎么做? 我嘗試了很多方法,每個方法都會引發錯誤。 這里有一些:
(live_players是臨時表,在這里我僅嘗試加入points列。)
db.execute("UPDATE players JOIN live_players AS t1 ON players.player_id
= t1.player_id SET points = points + t1.points")
db.execute("MERGE INTO players USING live_players ON players.player_id
= live_players.player_id WHEN MATCHED THEN UPDATE
SET points = points + live_players.points")
這將為您提供player_id和新的live_players(不確定是否可行)中或在players表中具有匹配記錄的記錄點,以及在當前存在播放器時添加的點數:
SELECT ST1.player_id, case when ST2.points > 0 THEN ST1.points+ST2.points Else ST1.points END as test FROM live_players ST1 LEFT JOIN players ST2 USING(player_id)
根據我們的玩家表的唯一索引,將其與UPDATE
操作集成在一起可以使您到達所需的位置。
我認為您的更新聲明有誤。
您不必直接在update語句后面進行聯接,而必須將其放入FROM子句中。
UPDATE table_to_update
SET what_you_want_to_set
FROM define_the_table(s)
WHERE some_restrictions (maybe with sub select)
在這里看看:
或在這里:
最好,
我
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.