Sql 使用条件常量插入到
我想做一些像:Sql 使用条件常量插入到,sql,postgresql,sql-insert,Sql,Postgresql,Sql Insert,我想做一些像: insert into Table(a, b, c) select a, b, 1 from OtherTable where a > 0 但是wherec将是基于where子句的特定条件的枚举值 我希望最终结果类似于(即使这不起作用): 您认为在一个语句中可以实现类似的功能吗?您可以使用大小写表达式: insert into Table(a, b, c) select a, b, CASE WHEN a = b THEN 'Enum1'
insert into Table(a, b, c)
select a, b, 1 from OtherTable
where a > 0
但是wherec将是基于where子句的特定条件的枚举值
我希望最终结果类似于(即使这不起作用):
您认为在一个语句中可以实现类似的功能吗?您可以使用
大小写表达式:
insert into Table(a, b, c)
select a,
b,
CASE WHEN a = b THEN 'Enum1' ELSE 'Enum2' END
from OtherTable, YetAnotherTable
where a > 0
是的,你没有理由不能那样做。。如果您提供了表结构和一些示例数据,您可能会得到更具体的答案……只是出于好奇:知道为什么如果a=b那么'Enum1'或者'Enum2'END
是语法错误吗?@GCC404 Postgres中的If
构造不应该以END
结尾,而是以END If
结尾(例如,请参阅)。
insert into Table(a, b, c)
select a,
b,
CASE WHEN a = b THEN 'Enum1' ELSE 'Enum2' END
from OtherTable, YetAnotherTable
where a > 0