在postgresql
中,如何从同一表中的column.a中获取column.bINSERT
中的值
IF column.a = 1 then column.b = foo,
IF column.a = 2 then column.b = bar,
IF column.a = 3 then column.b = good,
IF column.a = 4 then column.b = bad
在postgresql
中,如何从同一表中的column.a中获取column.bINSERT
中的值
IF column.a = 1 then column.b = foo,
IF column.a = 2 then column.b = bar,
IF column.a = 3 then column.b = good,
IF column.a = 4 then column.b = bad
INSERT 不会将值插入列。它将新行插入到您的表中。相反,您需要使用UPDATE 语句。您还需要一些ifs inside。
如果该行已经存在,则不需要INSERT
. 你需要UPDATE
这样的:
UPDATE your_table
SET b = CASE
WHEN a = 1 then 'foo'
WHEN a = 2 then 'bar'
WHEN a = 3 then 'good'
ELSE 'bad'
END
WHERE some_condition = 'true';