首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对一组链值进行分组

对一组链值进行分组
EN

Stack Overflow用户
提问于 2013-03-11 14:19:15
回答 1查看 223关注 0票数 1

我在SQL Server 2008中有以下表格

代码语言:javascript
复制
DECLARE @UnitConvert table 
(
  ID int identity(1,1),
  ConvertUnitOne nvarchar(50),
  ConvertUnitTwo nvarchar(50)
) 


INSERT INTO @UnitConvert
SELECT 100,500
UNION ALL SELECT 200,100
UNION ALL SELECT 500,300
UNION ALL SELECT 2000,1000
UNION ALL SELECT 3000,9000
UNION ALL SELECT 2000,700
UNION ALL SELECT 820,3000

SELECT * FROM @UnitConvert

在这里,UnitConvertOne中的值等同于UnitConvertTwo,因此它有一个价值链接链

所以我想像这样显示结果

代码语言:javascript
复制
Group         unit

1             100

              200

              300

              500

2             700

              1000

              2000

3             820

              3000

              9000

组值将根据可创建的组数自动递增单元值可以从小到大排序

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-11 21:01:37

感谢来自sqlservercentral.com的Eugene Elutin

代码语言:javascript
复制
DECLARE @UnitConvert table 
(
  ID int identity(1,1),
  ConvertUnitOne nvarchar(50),
  ConvertUnitTwo nvarchar(50)
) 

INSERT INTO @UnitConvert
SELECT 100,500
UNION ALL SELECT 200,100
UNION ALL SELECT 500,300
UNION ALL SELECT 2000,1000
UNION ALL SELECT 3000,9000
UNION ALL SELECT 2000,700
UNION ALL SELECT 820,3000

;WITH cteUP AS
(
 SELECT  ConvertUnitTwo AS childUP, ConvertUnitOne AS unitUP, 0 AS Lvl
 FROM @UnitConvert 
 UNION ALL 
 SELECT cte.childUP, u.ConvertUnitOne AS unitUP, Lvl = Lvl + 1 
 FROM @UnitConvert u
 INNER  JOIN cteUP cte ON cte.unitUP = u.ConvertUnitTwo
)
--select * from cteUP
SELECT   c.ConvertUnit
        ,DENSE_RANK() OVER (ORDER BY ISNULL(cm.unitUP, c.ConvertUnit)) AS GrpNO
FROM   (SELECT ConvertUnitOne AS ConvertUnit FROM @UnitConvert 
        UNION 
        SELECT ConvertUnitTwo AS ConvertUnit FROM @UnitConvert) c
OUTER APPLY (SELECT  TOP 1 unitUP FROM cteUP m WHERE
             m.childUP = c.ConvertUnit ORDER BY Lvl DESC) cm
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15332329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档