【发布时间】:2015-07-31 18:30:42
【问题描述】:
我正在构建医疗保健 837 遭遇,需要在 HL 段上设置增量。
-
C1基于Criteria1和C2基于Criteria2上的设置。 -
C2的编号永远不会与C1相同,反之亦然。 -
C1我可以使用row_number() over(order by (select Criteria1))拉
这是C2 我遇到了问题。
C1 | C2 | Criteria1 | Criteria2
1 | 2 | ID1 | NID1
1 | 3 | ID1 | NID2
1 | 4 | ID1 | NID3
5 | 6 | ID2 | NID4
5 | 7 | ID2 | NID5
5 | 8 | ID2 | NID6
9 |10 | ID3 | NID7
简化查询:
SELECT cm.Criteria1, cm.Criteria2, cj.C1
FROM [dbo].[TBL1] cm
JOIN (
SELECT cm.Criteria1,
row_number() over(order by (select Criteria1)) as C1
FROM [dbo].[TBL1] cm
GROUP BY cm.Criteria1) cj on cj.Criteria1 = cm.Criteria1
GROUP BY cm.Criteria1, cm.Criteria2, cj.C1 Order by cj.C1
【问题讨论】:
-
向我们展示您的代码以帮助您
-
简化-SELECT cm.Criteria1 ,cm.Criteria2 ,cj.C1 FROM [dbo].[TBL1] cm JOIN (SELECT cm.Criteria1 ,row_number() over(order by (select Criteria1)) as C1 FROM [dbo].[TBL1] cm group by cm.Criteria1) cj on cj.Criteria1 = cm.Criteria1 Group by cm.Criteria1 ,cm.Criteria2 ,cj.C1 Order by cj.C1
-
请添加您的 TBL1 表的定义以及它可以具有的数据示例,另外,请为示例数据添加所需的输出。
-
您运行的是什么版本的 SQL Server?
-
输出列在上面的 c1 和 c2 列中,其中条件 1 和 2 是更改的值。 C1 需要在 C2 停止的地方加 1。我正在使用 SQL 2014。
标签: sql auto-increment