行字段值拼接成字符串

效果:
SizeBatchNoSizingDyeBatchs
SZ1281656B2081036/B2081037/B2081042

 

 1  WITH    SizingJob ( SizeBatchNo, BatchNo )
 2            AS (  SELECT   b.SizeBatchNo ,
 3                         b.BatchNo
 4                 FROM     WVMDB.dbo.wvSizingBatchInfo a  WITH ( NOLOCK )
 5                          LEFT  JOIN ydmdb.dbo.ydbeambatchno_sizing b  WITH ( NOLOCK )  ON a.Sizing_Batch_NO  = b.SizeBatchNo
 6                 WHERE    a.End_Time  IS  NULL
 7              )
 8      SELECT  SizeBatchNo ,
 9              CASE  WHEN  LEN(SizingDyeBatchs)  >  0
10                   THEN  STUFF(SizingDyeBatchs,  LEN(SizingDyeBatchs),  1'')
11                   ELSE  ''
12              END  AS SizingDyeBatchs
13      FROM    (  SELECT  DISTINCT
14                         SizeBatchNo
15                FROM      SizingJob
16             ) a
17              CROSS APPLY (  SELECT    SizingDyeBatchs  = (  SELECT
18                                                               BatchNo  +  ' / '
19                                                          FROM  SizingJob
20                                                          WHERE SizeBatchNo  = A.SizeBatchNo
21                            FOR       XML PATH( '') ,
22                                         TYPE
23             ).value( ' / '' nvarchar(max) ')
24


 1  WITH    SizingJob ( SizeBatchNo, BatchNo )
 2            AS (  SELECT   b.SizeBatchNo ,
 3                         b.BatchNo
 4                 FROM     WVMDB.dbo.wvSizingBatchInfo a  WITH ( NOLOCK )
 5                          LEFT  JOIN ydmdb.dbo.ydbeambatchno_sizing b  WITH ( NOLOCK )  ON a.Sizing_Batch_NO  = b.SizeBatchNo
 6                 WHERE    a.End_Time  IS  NULL
 7              )
 8      SELECT  SizeBatchNo ,
 9              CASE  WHEN  LEN(SizingDyeBatchs)  >  0
10                   THEN  STUFF(SizingDyeBatchs,  LEN(SizingDyeBatchs),  1'')
11                   ELSE  ''
12              END  AS SizingDyeBatchs
13      FROM    (  SELECT  DISTINCT
14                         SizeBatchNo
15                FROM      SizingJob
16             ) a
17              CROSS APPLY (  SELECT    SizingDyeBatchs  = (  SELECT
18                                                               BatchNo  +  ' / '
19                                                          FROM  SizingJob
20                                                          WHERE SizeBatchNo  = A.SizeBatchNo
21                            FOR       XML PATH( '') ,
22                                         TYPE
23             ).value( ' / '' nvarchar(max) ')
24                         ) b

转载于:https://www.cnblogs.com/yooplmqj/archive/2012/09/21/2696869.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值