0
parent_order_idは、それが新たなオーダーであることを示しているヌルであるときはいつでも、私はこのコード親ID階層識別MS SqlServer2012
create table #temp
(
order_id int not null identity(1,1) primary key
,sid int
,created_date date
,parent_order_id int
)
insert into #temp
(
sid
,created_date
)values(1,'2017-01-01')
insert into #temp
(
sid
,created_date
,parent_order_id
)values(1,'2017-02-01',1),(1,'2017-03-01',2),(1,'2017-04-01',3)
insert into #temp
(
sid
,created_date
)values(1,'2017-06-01')
insert into #temp
(
sid
,created_date
,parent_order_id
)values(1,'2017-07-01',5),(1,'2017-08-01',6)
select * from #temp
を有します。その後、その注文に関連付けられた商品を追加することができます。これらの関連付けのためにparent_order_idが設定されています。しかし、私は各協会の子供の注文の最初のorder_idが何であるか知りたいと思っています。私は以下のような出力を探しています。
`order_id sid created_date parent_order_id original_order_id
1 1 2017-01-01 NULL 1
2 1 2017-02-01 1 1
3 1 2017-03-01 2 1
4 1 2017-04-01 3 1
5 1 2017-06-01 NULL 4
6 1 2017-07-01 5 4
7 1 2017-08-01 6 4
「 」となります。前もって感謝します。
再帰CTEを使用します。しかし、あなたが階層を決定するためにデータの序数の位置を使用しなければならない場合、何かがあなたのDBデザインでは見えないようです。 –