私は親子関係にあるトランザクションを持つSQLテーブルを持っています。しかし、この関係は、行と型の列によってのみ決定されます。他の参照はありません。私はこの参照を構築する必要があります。親子行をグループ化する方法(TSQL)
DECLARE @tmp TABLE (line INT, type CHAR(1), product VARCHAR(30))
INSERT @tmp VALUES
(1,' ','22411')
,(2,' ','22413')
,(3,'P','27050')
,(4,'C','22492')
,(5,'C','22493')
,(6,'C','22490')
,(7,' ','22410')
,(8,' ','22511')
,(9,'P','27051')
,(10,'C','22470')
,(11,'C','22471')
,(12,'C','22473')
,(13,'C','22474')
,(14,' ','22015')
,(15,' ','22167')
,(16,' ','12411')
,(17,' ','22500')
ライン3は親製品です。 4行目から6行目は子行です。 9行目はもう1つの親製品です。 10行目から13行目は子行です。カーソルなしでこれを達成するためにどのように
line|type|product|group
1 | |22411 |1
2 | |22413 |2
3 |P |27050 |3
4 |C |22492 |3
5 |C |22493 |3
6 |C |22490 |3
7 | |22410 |7
8 | |22511 |8
9 |P |27051 |9
10 |C |22470 |9
11 |C |22471 |9
12 |C |22473 |9
13 |C |22474 |9
14 | |22015 |14
15 | |22167 |15
16 | |12411 |16
17 | |22500 |17
:
所望の出力は、親子ラインがグループ化され、このようなもの、ありますか?
'order'カラムとは何ですか?それは 'line'列ですか? –
@RaduGheorghiuはい。ヒントのためのThx。私はテキストで修正しました。 –