使用另外两列填充新的SQL列



我正试图将表中的行合并为表中的一个新行。特别是将First_Name和Last_Name列到First_Last中。我在运行查询时遇到了问题,因为我试图对表中的所有条目而不仅仅是一行执行此操作。有什么建议吗?

当前代码:

    update Name
set First_Last = (select First_Name + ' ' + Last_Name from Name)

谢谢,Justin

假设您打算使用每行的First_NameLast_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)

最新更新