用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 

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

(转)Oracle一列的多行数据拼成一行显示字符

转:http://blog.csdn.net/taotao821130/article/details/8939263 oracle(11) 作者同类文章X ...
  • pzasdq
  • pzasdq
  • 2016年01月13日 13:57
  • 1494

SQL Server中将多行数据拼接为一行数据(一个字符串)

转载自:http://blog.sina.com.cn/s/blog_63c31d660101obov.html 方法一: 使用T-SQL DECLARE @Users NVARCHAR(MAX)...
  • qq_33276294
  • qq_33276294
  • 2017年04月17日 23:54
  • 1266

SQL将一列多行数据转换为一行

select stuff((select ','+A.CarType from (select distinct CarType from #tempCarType) A FOR xml PA...
  • easyboot
  • easyboot
  • 2017年09月01日 11:20
  • 964

SQL Server中将多行数据拼接为一行数据(一个字符串)

方法一: 使用T-SQL DECLARE @Users NVARCHAR(MAX) SET @Users = '' SELECT @Users = @Users + ...
  • qq_18145031
  • qq_18145031
  • 2017年05月02日 11:16
  • 1655

mysql 一行转多行

最近刚开始学mysql  ,网上开始找mysql 开发的习题,现有这个: 实现方法: select tid,bdate,edate,DATE_ADD(bdate,INTERVAL b.he...
  • xiaomifeng287
  • xiaomifeng287
  • 2016年01月19日 18:01
  • 1654

(转)Oracle一列的多行数据拼成一行显示字符

转:http://blog.csdn.net/taotao821130/article/details/8939263 oracle(11) 作者同类文章X ...
  • pzasdq
  • pzasdq
  • 2016年01月13日 13:57
  • 1494

oracle一行数据转换成多行数据

实际开发中我们经常遇到需要一张临时表的数据来作为 关联表,当然我们可以通过create一张表来满足我们的需求,但是如果是线上环境不允许我们建表并且我们要求的表结构也很简单:只有一列。那么我们可以通过以...
  • nihousheng
  • nihousheng
  • 2014年12月23日 00:24
  • 798

oracle 列转行 多行数据转为一行

 主key 有5个,【A    B    C    D   E   】 select STN_CD,replace(wm_concat(E),',','、') from T_G...
  • a0701302
  • a0701302
  • 2016年08月31日 15:12
  • 977

hive使用技巧(五)—— 一行转多行,多行转一行

hive使用技巧(五)—— 一行转多行,多行转一行
  • kwu_ganymede
  • kwu_ganymede
  • 2016年12月02日 17:09
  • 2963

mysql 将多行转换一行

在实际开发中,往往会碰到类似如下的例子:mysql 将多行转换一行
  • liujian928730
  • liujian928730
  • 2016年03月23日 14:06
  • 735
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用SQL将多行字符串数据转换成一行数据(实例)
举报原因:
原因补充:

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