加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

通过XML PATH在select中进行字符串合并(sql2005)

发布时间:2020-12-16 06:14:19 所属栏目:百科 来源:网络整理
导读:今天制作程序时遇到一个要求,有主表和明细表,主表略,明细表如下 图号 专业 晒图数 规格 主表 ID Jz-01 建筑 1 A0 1 JG-01 结构 2 A2 Jz-02 JG-03 1 表 1 要求在专业、晒图数、规格相同的情况下,对图号进行合并,结果如下 图号 专业 晒图数 规格 主表 ID J

今天制作程序时遇到一个要求,有主表和明细表,主表略,明细表如下

图号

专业

晒图数

规格

主表ID

Jz-01

建筑

1

A0

1

JG-01

结构

2

A2

Jz-02

JG-03

1

1

要求在专业、晒图数、规格相同的情况下,对图号进行合并,结果如下

图号

专业

晒图数

规格

主表ID

Jz-01jz-02

建筑

1

A0

1

JG-01JG-03

结构

2

A2

1

2

因为涉及到数据合并,用程序实现比较麻烦,考虑用sql实现。参考了下面的文章后有了思路:http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html

SELECT DISTINCT
 DwgNO = STUFF(( SELECT ',' + [DwgNO]
 FROM 明细表 t
 WHERE 明细表.主表ID = t.主表ID
 AND 明细表.规格 = t.规格
 AND 明细表.专业 = t.专业
 AND 明细表.晒图数 = t.晒图数
 AND IsDel = 0
 FOR
 XML PATH('')
 ),1,''),主表ID,规格,专业,晒图数
FROM 明细表
WHERE IsDel = 0

即可实现表2的效果



??
??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读