Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RELATIONid MAPid D1id D2id D3id
- 4999 4999 626 1250 7
- 5000 5000 626 1250 8
- Nodeid ParentNodeid Header
- 626 null D1
- 1250 626 D2
- 7 1250 D3
- 8 1250 D3
- RELATIONid MAPid D1id D2id D3id
- 4999 4999 626 1250 7
- 5000 5000 626 1250 8
- 5001 5001 627 1300 10
- 5002 5002 627 1300 12
- 5003 5003 628 1400 15
- Nodeid ParentNodeid Header
- 626 null D1
- 1250 626 D2
- 7 1250 D3
- 8 1250 D3
- 627 null D1
- 1300 627 D2
- 10 1300 D3
- 12 1300 D3
- 628 null D1
- 1400 628 D2
- 15 1400 D3
- SELECT
- v.Nodeid,
- v.ParentNodeid,
- v.Header
- FROM
- dbo.atable
- CROSS APPLY
- (
- VALUES
- (D1id, NULL, 'D1'),
- (D2id, D1id, 'D2'),
- (D3id, D2id, 'D3')
- ) AS v (Nodeid, ParentNodeid, Header)
- ;
- SELECT DISTINCT
- v.Nodeid,
- v.ParentNodeid,
- v.Header
- ...
- SELECT DISTINCT
- t.D1id,
- t.D2id,
- t.D3id,
- v.Nodeid,
- v.ParentNodeid,
- v.Header
- FROM
- dbo.atable AS t
- CROSS APPLY
- (
- VALUES
- (t.D1id, NULL , 'D1'),
- (t.D2id, t.D1id, 'D2'),
- (t.D3id, t.D2id, 'D3')
- ) AS v (Nodeid, ParentNodeid, Header)
- ORDER BY
- t.D1id ASC,
- t.D2id ASC,
- t.D3id ASC
- ;
- SELECT
- Nodeid,
- ParentNodeid,
- Header
- FROM
- (
- SELECT DISTINCT
- t.D1id,
- t.D2id,
- t.D3id,
- v.Nodeid,
- v.ParentNodeid,
- v.Header
- FROM
- dbo.atable AS t
- CROSS APPLY
- (
- VALUES
- (t.D1id, NULL , 'D1'),
- (t.D2id, t.D1id, 'D2'),
- (t.D3id, t.D2id, 'D3')
- ) AS v (Nodeid, ParentNodeid, Header)
- ) AS s
- ORDER BY
- D1id ASC,
- D2id ASC,
- D3id ASC
- ;
- SELECT
- v.Nodeid,
- v.ParentNodeid,
- v.Header
- FROM
- dbo.atable AS t
- CROSS APPLY
- (
- VALUES
- (t.D1id, NULL , 'D1'),
- (t.D2id, t.D1id, 'D2'),
- (t.D3id, t.D2id, 'D3')
- ) AS v (Nodeid, ParentNodeid, Header)
- GROUP BY
- t.D1id,
- t.D2id,
- t.D3id,
- v.Nodeid,
- v.ParentNodeid,
- v.Header
- ORDER BY
- t.D1id ASC,
- t.D2id ASC,
- t.D3id ASC
- ;
- select D3id,D2id,'D3'
- from mytable
- union
- select D2id,D1id,'D2'
- from mytable
- union
- select D1id, null,'D1'
- from mytable
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement