sql - 将拆分的字符串放入每一行
问题描述
我的问题是这样的:
想象一下有一个表(People),我们有一个名为 name 的列,有 5 行,所以在我们的例子中:
Name:
Enrique West
Damien Braun
Ellie Osborne
Cierra Vega
Alden Cantrell
然后我们有另一列,称为姓氏。此栏为空。现在我需要 sql 代码将所有这些人的姓氏放在姓氏列中。那么我们应该有:
Surname:
West
Braun
Osborne
Vega
Cantrell
我试过这个:
Update People
set Surname =
(SELECT SUBSTRING(name, 23, 20)
from People)
where condition
我目前收到此错误:
Subquery returned more than 1 value. This is not permitted when the
subquery follows =, !=, <, <= , >, >= or when the subquery is used as an
expression.
重要的是每一行,例如 Enrique West 所在的行,只包含他的姓氏。
我应该在代码中添加或更改什么?
非常感谢你!
解决方案
不要使用子查询!只是:
Update People
set Surname = SUBSTRING(name, 23, 20)
where condition;
推荐阅读
- google-apps-script - Dialogflow 身份验证 API v2 - HTTP POST
- sql - 从查询中删除不在过去六个月内的列?
- docker - Jenkins 上带有 docker 代理的易碎管道
- karate - 空手道中的日期格式
- android - Kotlin 类在完成之前返回 false
- r - 制作绘图时,我的数据似乎结构不正确
- php - 如何将 Sql 转换为 Dql?
- javascript - 有没有办法检测哪个脚本加载了哪个请求?
- python - 使用“random.randint”时出错“位置参数太多”
- python - 创建新的多处理进程时,python 脚本因 cx_freeze 崩溃而冻结