gpt4 book ai didi

MySQL 用同一个表中另一个字段的查询结果填充一个新字段

转载 作者:行者123 更新时间:2023-11-29 06:50:26 25 4
gpt4 key购买 nike

我有一个大型(超过 100 万行)数据库/表,其中包含一个“名称”字段。但是,我需要一个名字和姓氏字段。

我能够运行查询以在新字段中以我需要的方式显示名字和姓氏(解析),但我似乎无法将这些查询结果插入到表中。

我能够在表格中创建字段,但无法填充它们。

我在 phpMyAdmin 中工作,表格是通过 ODBC 从 Access 中导出的。

下面是一些不起作用的代码示例。自从我不得不使用 SQL 以来已经有几年了,我认为这种方法的逻辑可能是错误的。我当然感谢任何帮助。

无效的例子:

INSERT INTO fed2012_aquabarndesign_com (lastname)
select left(Name,InStr(Name,',')) AS lastname
from fed2012_aquabarndesign_com

INSERT INTO fed2012_aquabarndesign_com (lastname)
Values (select left(Name,InStr(Name,',')) from fed2012_aquabarndesign_com);

最佳答案

以下是使用 UPDATE 的方法——不确定是否要将这些记录INSERT 返回到同一个表中:

update fed2012_aquabarndesign_com
set firstname = trim(left(name, instr(name, ' ' ))),
lastname = trim(right(name, length(name) - instr(name, ' ' )))

SQL Fiddle Demo

这确实假定每个全名在名字和姓氏字段之间都有一个空格。

如果您真的想重新插入这些行,那么这应该可行:

insert into fed2012_aquabarndesign_com (firstname, lastname)
select trim(left(name, instr(name, ' ' ))),
trim(right(name, length(name) - instr(name, ' ' )))
from fed2012_aquabarndesign_com;

SQL Fiddle Demo

关于MySQL 用同一个表中另一个字段的查询结果填充一个新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15799589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com