查询语句块范例 SQL 根据分组列 拼接其他列数据
来源:互联网 发布:什么是大数据云计算 编辑:程序博客网 时间:2024/06/14 01:19
范例:
create table tb(id int, value varchar(10))insert into tb values(1,'aa')insert into tb values(1,'bb')insert into tb values(2,'aaa')insert into tb values(2,'bbb')insert into tb values(2,'ccc')GOSELECT id, value = stuff((SELECT ',' + value FROM tb AS t WHERE t .id = tb.id FOR xml path('')), 1, 1, '')FROM tbGROUP BY id效果如下:
范例也有了,但是我实际项目比上面要复杂些.
select itemCode_C,P_itemCode_C,sys_tbxh_C,sys_tbxhgg_C from ProjectInformation,Project_PMana_Newwhere ProjectInformation.itemCode_C = Project_PMana_New.P_itemCode_Cgroup by itemCode_C,P_itemCode_C,sys_tbxh_C,sys_tbxhgg_Corder by itemCode_C执行下
要求是 itemCode_C相同的,sys_tbxhgg_C 累加合并.
带入上面的范例
;with cte as (select t1.itemCode_C, t2.P_itemCode_C, sys_tbxh_C, sys_tbxhgg_C from ProjectInformation as t1inner join Project_PMana_New as t2 on t1.itemCode_C = t2.P_itemCode_Cgroup by t1.itemCode_C, t2.P_itemCode_C, sys_tbxh_C,sys_tbxhgg_C)SELECT itemCode_C, P_itemCode_C, sys_tbxh_C, sys_tbxhgg_C = stuff((SELECT ',' + sys_tbxhgg_C FROM cte AS t WHERE t.itemCode_C = cte.itemCode_C FOR xml path('')), 1, 1, '')FROM cteGROUP BY itemCode_C, P_itemCode_C, sys_tbxh_CORDER BY itemCode_C
效果还是很好的.再稍微修改下,数据整理出来了,需要把拼接好的列,赋值ProjectInformation表的sys_tbxh_C列 就大功告成了..
;with cte as (select t1.itemCode_C, t2.P_itemCode_C, sys_tbxh_C, sys_tbxhgg_C from ProjectInformation as t1inner join Project_PMana_New as t2 on t1.itemCode_C = t2.P_itemCode_Cgroup by t1.itemCode_C, t2.P_itemCode_C, sys_tbxh_C,sys_tbxhgg_C)update ProjectInformationset sys_tbxh_C = cxp2.sys_tbxhgg_Cfrom ProjectInformation,(SELECT itemCode_C, P_itemCode_C, sys_tbxh_C, sys_tbxhgg_C = stuff((SELECT ',' + sys_tbxhgg_C FROM cte AS t WHERE t.itemCode_C = cte.itemCode_C FOR xml path('')), 1, 1, '')FROM cteGROUP BY itemCode_C, P_itemCode_C, sys_tbxh_C) as cxp2where ProjectInformation.itemCode_C = cxp2.itemCode_C
0 0
- 查询语句块范例 SQL 根据分组列 拼接其他列数据
- sql查询,根据条件将列值赋值给其他列
- 根据列名查询表名的sql语句
- 根据数据动态显示列及数据的SQL语句
- php根据查询条件拼接sql语句
- 根据条件查询动态拼接sql语句
- mysql根据用户id分组读取两列的总和倒叙排列后取前十条sql语句
- SQL高级语句-JOIN 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
- 通过Sql实现根据分组合并指定列内容的查询
- 通过Sql实现根据分组合并指定列内容的查询
- Sql Server 两列数据拼接并插回至原表中另一列
- SQL列字符串拼接
- sql查询表根据某列排序的任意行语句
- 根据参数指定的列名和值查询员工信息(使用动态sql语句)
- sql语句:取按a列分组后,b列最大,的所有列的记录
- 查询列名、列号的sql语句
- 用SQL语句怎么查询列名?
- sql语句查询添加自增列
- java系统学习(十四) --------数据结构
- 学习ThinkPHP3.2.2(一):记录一下第一个例子的运行过程
- 移动带来的创业红利正在消退,或许你应该试试“泛SaaS”新模式
- 当幸福来敲门观后感
- flume学习(九):自定义拦截器
- 查询语句块范例 SQL 根据分组列 拼接其他列数据
- win7+VS2012下openGL开发环境配置(glut版)
- java本地方法:native方法
- 利用epoll统一调度信号、定时器和事件
- 怎么去掉 WINDOWS MEDIA PLAYER 11 插入设备时的自动同步功能
- Android手机拍照上传旋转90度问题
- 从零开始编写一个简单的Linux文件系统
- 2200:Eddy's AC难题
- 史上最好的mybatis入门教程(官网)