3

我正在尝试将表中的行组合成表中的一个新行。具体来说,将 First_Name 和 Last_name 列放入 First_Last。由于我试图对表中的所有条目而不只是 1 行执行此操作,因此我无法运行查询。有什么建议么?

当前代码:

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

谢谢,贾斯汀

4

2 回答 2

10

假设您打算使用每行的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
);
于 2012-08-24T15:48:13.747 回答
1

您没有指定您的 RDBMS,但如果您使用的是 MySQL,您可以使用该CONCAT()函数

update Name 
set First_Last = concat(First_Name, ' ', Last_Name)
于 2012-08-24T15:58:41.850 回答