用SQL将多行字符串数据转换成一行数据(实例)

原创 2015年11月21日 17:38:57
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 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[数据库] SQL查询语句表行列转换及一行数据转换成两列

本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两列数据的方法、子查询的应用、decode函数的用法。希望文章对你有所帮助~ 1.创建数据库表及插入数据 2.子查询统计不同...

在sql server中,实现列数据转换成逗号隔开字符串

项目需要,要在查询中,加上后续处理人查询条件,因为后续处理人字段存的是用户ID串,所以想用函数实现功能:根据用户ID串,返回用户姓名串 根据功能,在数据库查询窗口运行测试,sql如下:没有问题,返回...

【第5篇】使用json-lib把json字符串数据转换成Collection

使用json-lib把json字符串数据转换成Collection

double数据转换成char字符串的函数——dtostrf()用法

Atmel Studio 6.2集成开发环境编写单片机程序。在项目中需要把double型数据转换成char型字符串。本想自己写数据转换程序,写之前先上网看看前人们有什么经验,一番搜索发现AtmelSt...

sql2005数据转换成mysql

  • 2010年10月10日 11:17
  • 938B
  • 下载

node.js将图片数据转换成base64位的字符串

var http = require('http'); var url = 'http://p0.meituan.net/tuanpic/3df525af5a3f7fe04077567d2a6caf...

如何将C#/.NET 将json字符串格式数据转换成对象

网络中数据的传输方式通常是json格式,对于.NET程序json数据很不方便,因此我们需要将json格式数组转换成对象,有的是字符串属性简单对象,有的需要将json格式字符串转换为对象中还有对象的对象...
  • killcwd
  • killcwd
  • 2015年03月27日 11:13
  • 1876

SQL 可以将表中数据转换成insert脚本的存储过程-spGenInsertSQLHan

可以将表中数据转换成insert脚本的存储过程-spGenInsertSQLHan。if exists (select * from dbo.sysobjects where id = object_...

将Excel中的数据转换成sql Insert语句

将Excel中的数据转换成sql Insert语句 时间:2010-08-19 14:30来源:网络博客 作者:秩名 点击:312次 excel表格中有A、B、C三列数据,希望导入到数...

Excel数据转换成sql脚本

问题背景           在我们实际的程序开发、维护的过程中,很多时候都要和Excel打交道。 因为用户的数据很多时候是Excel存储的。        公司维护项目的时候,经常要帮客户导...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用SQL将多行字符串数据转换成一行数据(实例)
举报原因:
原因补充:

(最多只允许输入30个字)