我正试图将表中的行合并为表中的一个新行。特别是将First_Name和Last_Name列到First_Last中。我在运行查询时遇到了问题,因为我试图对表中的所有条目而不仅仅是一行执行此操作。有什么建议吗?
当前代码:
update Name
set First_Last = (select First_Name + ' ' + Last_Name from Name)
谢谢,Justin
假设您打算使用每行的First_Name
和Last_Name
值更新同一表上的所有行,那么它就像(在Sql Server中):
update MyTable
set First_Last = First_Name + ' ' + Last_Name;
在大多数其他RBDMS中,使用管道||
运算符或CONCAT
函数来组合文本。
注意,大多数RDBMS也有计算(有时称为生成)列的概念,它可以防止存储派生字段时的冗余和同步问题:
CREATE TABLE MyTable...
(
First_Last AS first_name + ' ' + last_name
);
您没有指定RDBMS,但如果您使用MySQL,则可以使用CONCAT()
函数
update Name
set First_Last = concat(First_Name, ' ', Last_Name)