我有两张桌子:
表1的一部分:
id | per | va | gp | minutes
-----+-------+-------+----+---------
1 | 11.87 | 14.5 | 69 | 16.1
2 | 17.07 | 154.9 | 78 | 23.9
3 | 4.30 | -8.6 | 21 | 4.4
4 | 5.68 | -42.2 | 52 | 9.3
5 | 19.46 | 347.8 | 82 | 32.1
6 | 18.26 | 125.3 | 47 | 23.3
7 | 12.76 | 79.0 | 82 | 28.5
8 | 9.19 | -3.7 | 13 | 14.8
9 | 21.15 | 10.7 | 10 | 6.8
10 | 14.38 | 46.1 | 31 | 25.7
表2:
player | prl | position
--------+-------------------------+----------
1 | |
2 | |
3 | |
4 | |
我试图通过获取表1中的那些列并按照 - ((67 * va)/(gp *分钟))来计算prl。我当然可以在将其插入prl列之外进行计算,但无法找到将其转换为prl的方法。我最接近的是:
update hwk2
set prl = per - ((67*va)/(gp*minutes)) from more_player_stats;
UPDATE 1904
在整个prl列中给出了相同的结果。任何人都可以帮助这个全新的SQL用户吗?
答案 0 :(得分:1)
使用更新联接:
UPDATE hwk2 AS t1
SET prl = t1.per - ((67*t1.va) / (t1.gp*t1.minutes))
FROM more_player_stats AS t2
WHERE t1.player = t2.id;
这是关于Postgres更新的SO link to a reference question。