用SQL将多行字符串数据转换成一行数据(实例)
2015-11-21 17:38
477 查看
SELECT * FROM ( SELECT * FROM ( SELECT o.OrderNo, case o.IsCustomerUrgent when 0 then N'不加急' when 1 then N'加急' END as IsCustomerUrgent FROM Orders o WHERE OrderDate BETWEEN '2015-11-01 00:00:00' AND '2015-11-21 23:59:59' and OrderStatus ='90' ) t1 CROSS APPLY( SELECT PName = ( SELECT PName,面料,米数,工艺 FROM ( SELECT s.OrderNo, u.Fabric 面料 , u.MaterialUnit 米数, Technology 工艺, CONVERT(nvarchar(10),u.Quantity)+N'套'+u.ProductName PName FROM Orders s, OrdersSuits u WHERE u.OrderID = s.OrderID AND OrderDate BETWEEN '2015-11-01 00:00:00' AND '2015-11-21 23:59:59' UNION ALL SELECT s.OrderNo, p.Fabric 面料, p.MaterialUnit 米数, Technology 工艺, CONVERT(nvarchar(10),p.Quantity)+N'套'+p.ProductName PName FROM Orders s, OrdersPants p WHERE p.OrderID = s.OrderID AND OrderDate BETWEEN '2015-11-01 00:00:00' AND '2015-11-21 23:59:59' UNION ALL SELECT s.OrderNo, v.Fabric 面料, v.MaterialUnit 米数, Technology 工艺,CONVERT(nvarchar(10),v.Quantity)+N'套'+v.ProductName PName FROM Orders s, OrdersVest v WHERE v.OrderID = s.OrderID AND OrderDate BETWEEN '2015-11-01 00:00:00' AND '2015-11-21 23:59:59' UNION ALL SELECT s.OrderNo, c.Fabric 面料, c.MaterialUnit 米数, Technology 工艺, CONVERT(nvarchar(10),c.Quantity)+N'套'+c.ProductName PName FROM Orders s, OrdersCoats c WHERE c.OrderID = s.OrderID AND OrderDate BETWEEN '2015-11-01 00:00:00' AND '2015-11-21 23:59:59' ) t2 WHERE t2.OrderNo=t1.OrderNo FOR XML PATH(''), TYPE ).value('/', 'nvarchar(MAX)') )N )t3 WHERE t3.PName is not null and t3.PName <>N'' and t3.OrderNo is not null and t3.OrderNo <>N'' order by t3.IsCustomerUrgent desc
相关文章推荐
- 如何在多线程操作数据库--多线程串行
- ORACLE数据库配置与使用心得
- playframework 2.x(scala)与mysql 性能测试
- mysql修改密码和设置远程连接
- 用SQL将多行字符串数据转换成一行数据
- MySQL innoDB数据插入性能优化
- MySQL存储过程的简单用法
- memcached&php扩展安装
- ORACLE迁移中的一些经验(一)批量导出sequence
- mysql中int、bigint、smallint 和 tinyint的区别详细介绍
- springmvc整合mybatis框架源码 bootstrap html5 mysql oracle
- dapper支持oracle游标
- PLSQL Developer 完美支持Oracle64位问题
- play anorm 与Mysql 字段映射
- 解析Oracle数据库中的对象集合schema
- JSP数据库操作
- R语言学习之<连接数据库>
- 关于读取数据库进行数据处理的一些小问题
- 用dblink从源数据库导出expdp文件到目标数据库
- 删除SQL Server 2008遇到的问题