gpt4 book ai didi

SQL 服务器 : join and append columns

转载 作者:搜寻专家 更新时间:2023-10-30 22:01:20 24 4
gpt4 key购买 nike

我有一个 SQL 问题,希望有人能帮助我或给我一些指示。非常感谢。

我有两个表:A 和 B。

  • A 有 ID 列,这是主键字段,NAME
  • B 有 DUPIDNAMEID 列,这是主键

A 和 B 之间的关系在 B 中,DUPID 包含 A.ID 的某些值,请求附加不同的 B.NAME 值到 A.NAME 以分号分隔基于连接 A.ID = B.DUPID..

可能我解释的不够清楚,举个简单的例子。

A                                  B
ID NAME DUPID NAME
1 null 1 John
2 null 1 John
3 null 1 Mark
4 null 3 Luke
5 null 3 Luke
3 Luke
3 Matthew

所以最终,我需要更新表 A,并使其如下所示

A
ID NAME
1 John;Mark
2 null
3 Luke;Matthew
4 null
5 null

最佳答案

MySQL 不同,SQL Server 没有内置函数来执行此操作。但是您仍然可以使用 CROSS APPLYFOR XML PATH('')

来模拟它
SELECT  a.ID, 
SUBSTRING(d.NameList,1, LEN(d.NameList) - 1) Names
FROM a
CROSS APPLY
(
SELECT DISTINCT [NAME] + '; '
FROM B
WHERE A.ID = B.DupID
FOR XML PATH('')
) D (NameList)

SQLFiddle Demo

关于SQL 服务器 : join and append columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12624382/

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