gpt4 book ai didi

sql - Postgresql,从列中插入值

转载 作者:行者123 更新时间:2023-11-29 12:50:10 26 4
gpt4 key购买 nike

现在,我有这张表:

id|name|status (varchar)|fk_id_test (int)
-----------------------------------------
1 |ABC | X |
2 | DX | Y |
3 | ZZ | X |
4 | TU | Y |
5 | EE | Z |

我必须在 fk_id_test 中插入来自 status 列的值。

算法应该是这样的:

switch(status)
case 'X': `fk_ik_test` = 1
case 'Y': `fk_ik_test` = 2
case 'Z': `fk_ik_test` = 3
etc.

结果应该是这样的:

现在,我有这张表:

id|name|status (varchar)|fk_id_test (int)
-----------------------------------------
1 |ABC | X |1
2 | DX | Y |2
3 | ZZ | X |1
4 | TU | Y |2
5 | EE | Z |3

我有 5 个状态。这是因为我将使用另一个包含这些状态名称 (varchar) 的表 (test)。

在 postgresql 中可以做到这一点吗?

最佳答案

一种方法使用带有连接的更新:

update t
set fk_id_test = v.fk_id_test
from (values ('X', 1), ('Y', 2), ('Z', 3)) v(status, fk_id_test)
where v.status = t.status;

关于sql - Postgresql,从列中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56156708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com