1

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
4

2 回答 2

5

INSERT 不会将值插入列。它将新行插入到您的表中。相反,您需要使用UPDATE 语句。您还需要一些ifs inside

于 2013-07-09T10:31:56.307 回答
3

如果该行已经存在,则不需要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';
于 2013-07-09T11:10:58.017 回答