使用列A和列B的值更新列C.

时间:2009-05-26 09:19:50

标签: sql sql-update

我需要实现这个

update [table]
set [column c] = ( select [column a] + ' ' + [column b] from [table] )

但是我收到此错误消息

子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。

如果没有不良后果,我怎样才能达到预期的效果:)

吉姆

3 个答案:

答案 0 :(得分:5)

这很简单:

update table
set c = a + ' ' + b

这将更新表格中的所有行。

答案 1 :(得分:2)

尝试将WHERE子句添加到子查询中,以便它只选择一行。

答案 2 :(得分:1)

UPDATE表SET c = a +''+ b; -------如果a,b,c是char / var char数据类型,则此方法有效。

如果它们是数字数据类型,则会出错。 同时检查C.的长度,例如:如果C varchar2(30),varchar2(10)和b varchar2(15),如果右侧值的长度越大,它就越正确,它会给出错误。