gpt4 book ai didi

sql - 使用逗号分隔符拆分列

转载 作者:行者123 更新时间:2023-12-02 07:17:40 28 4
gpt4 key购买 nike

我有一个包含 3 列的表格,其中包含下面给出的数据。

ID |  Col1        |         Col2            |   Status
1 8007590006 8002240001,8002170828 I
2 8002170828 8002000004 I
3 8002000001 8002240001 I
4 8769879809 8002000001 I
5 8769879809 8002000001 I

Col2 可以包含多个逗号分隔值。如果 col2 中的值也存在于 col1 中,我需要将状态更新为 C。

例如,对于 ID = 1col2 包含 8002170828,它出现在 Col1 中,ID = 2。所以,status = 'C'

根据我的尝试,我知道它在有多个值的情况下不起作用,因为我需要拆分该数据并获取各个值,然后应用更新。

UPDATE Table1
SET STATUS = 'C'
WHERE Col1 IN (SELECT Col2 FROM Table1)

最佳答案

如果您使用的是 SQL Server 2016 或更高版本,则 STRING_SPLIT派上用场:

WITH cte AS (
SELECT ID, Col1, value AS Col2
FROM Table1
CROSS APPLY STRING_SPLIT(Col2, ',')
)

UPDATE t1
SET Status = 'C'
FROM Table1 t1
INNER JOIN cte t2
ON t1.Col1 = t2.Col2;

enter image description here

Demo

关于sql - 使用逗号分隔符拆分列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56897054/

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