我正在尝试将表中的行组合成表中的一个新行。具体来说,将 First_Name 和 Last_name 列放入 First_Last。由于我试图对表中的所有条目而不只是 1 行执行此操作,因此我无法运行查询。有什么建议么?
当前代码:
update Name
set First_Last = (select First_Name + ' ' + Last_Name from Name)
谢谢,贾斯汀
我正在尝试将表中的行组合成表中的一个新行。具体来说,将 First_Name 和 Last_name 列放入 First_Last。由于我试图对表中的所有条目而不只是 1 行执行此操作,因此我无法运行查询。有什么建议么?
当前代码:
update Name
set First_Last = (select First_Name + ' ' + Last_Name from Name)
谢谢,贾斯汀
假设您打算使用每行的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)