sql - 插入具有相同 ID 的 Select
问题描述
在具有相同 ID 的列中插入拆分分隔字符串。
假设我有如下演示设置:
USE DEMODATABASE
GO
CREATE TABLE EMPLOYEEID_Address
(
ID INT ,
Address VARCHAR(MAX)
)
我声明了一些变量
DECLARE @id INT
DECLARE @Addresses VARCHAR(MAX)
DECLARE @SEPARATOR CHAR(1)
SET @id = 1
SET @SEPARATOR='|'
SET @Addresses='159 North Manchester Rd.
Edison, NJ 08817|209 West Fulton Lane
Braintree, MA 02184|...'
注意:@addresses
刺痛是动态的,不是固定的
现在我的目标是使用该函数EMPLOYEEID_Address
将具有相同 ID 的多个地址插入表中。STRING_SPLIT
/*TARGET TABLE*/
Id Address
1 159 North Manchester Rd. Edison, NJ 08817
1 209 West Fulton LaneBraintree, MA 02184
1 ...
所以我尝试了:
INSERT INTO EMPLOYEEID_Address
(ID,Address)
Select @id as ID,
SELECT *
FROM STRING_SPLIT(@EMPLOYEENAME, @SEPARATOR)
但这没有用,而
INSERT INTO EMPLOYEEID_Address
(Address)
SELECT *
FROM STRING_SPLIT(@EMPLOYEENAME, @SEPARATOR)
结果为:
Id Address
NULL 159 North Manchester Rd. Edison, NJ 08817
NULL 209 West Fulton LaneBraintree, MA 02184
有什么方法可以实现这一点,或者有什么更好的方法来实现我的目标表,其中 id 和 string 作为参数传递?
解决方案
我想你想要:
INSERT INTO EMPLOYEEID_Address (ID, Address)
Select @id as ID, s.value
from STRING_SPLIT(@EMPLOYEENAME, @SEPARATOR) s;
返回的列string_split()
称为value
。
推荐阅读
- html - 在 Angular 中将值设置为 null 后,HTML 下拉菜单消失
- eslint - 使用更漂亮的插件和 ESLint 插件更漂亮
- python - 在 pandas DataFrame 中可以用作索引的数据类型是否有限制?
- r - 如何使用 for 循环从多个 PRISM .bil 栅格创建栅格堆栈?
- javascript - 多个图像文件上传仅在 React 中预览第一张图像
- javascript - 有没有办法强制 react-router-dom 在页面刷新时重定向页面?
- docker - ansible.errors.AnsibleError:无法创建本地目录(/.ansible/tmp):[Errno 13] 权限被拒绝:b'/.ansible'
- apache - 从 WSL 访问本地 Burp 代理
- scala - 如何确保火花作业正在利用所有可用资源(利用所有容器)
- c - 如何在C中将消息从服务器发送到客户端