今天制作程序时遇到一个要求,有主表和明细表,主表略,明细表如下
图号 |
专业 |
晒图数 |
规格 |
主表ID |
||
Jz-01 |
建筑 |
1 |
A0 |
1 |
||
JG-01 |
结构 |
2 |
A2 |
Jz-02 |
JG-03 |
1 |
表1
要求在专业、晒图数、规格相同的情况下,对图号进行合并,结果如下
图号 |
专业 |
晒图数 |
规格 |
主表ID |
Jz-01、jz-02 |
建筑 |
1 |
A0 |
1 |
JG-01、JG-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的效果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。