我如何纠正下面的SQL代码,特别是合并部分?
insert into Stmt G (ID,blah,foo)
select
coalesce(SELECT ID FROM Stmt G WHERE G.CLAIMNO=C.CLNUMBER, select StmtSeq.nextval from dual),
c.blah,
d.foo
from claim c
left join d on ...;如果ClaimNo匹配,我将从Stmt表本身获取ID,否则创建一个新ID。这在SQL中是不允许的吗?我还能怎么写这条语句呢?
我现在在合并部分得到了一个“缺少表达式”的错误。
发布于 2014-08-14 23:29:39
您应该用括号将select括起来:
coalesce( (SELECT ID FROM Stmt G WHERE G.CLAIMNO=C.CLNUMBER)
, (select StmtSeq.nextval from dual)
)https://stackoverflow.com/questions/25311854
复制相似问题