我有HierarchyID表,並希望在子級屬性上選擇父級和子級。使用HierarchyID選擇SQL Server中的父級和子級
這裏的表:
CREATE TABLE #BOMTbl
(
ItemNo HIERARCHYID NOT NULL,
Lvl AS ItemNo.GetLevel() PERSISTED,
MatID VARCHAR(25) NULL,
CONSTRAINT PK_#BOMTbl PRIMARY KEY NONCLUSTERED(ItemNo)
);
insert into #BOMTbl (ItemNo,MatID) values
('/1/',''),
('/1/1/',''),
('/1/1/1/','MA-A'),
('/1/1/2/','MA-A'),
('/1/1/3/','MA-B'),
('/1/2/',''),
('/1/2/1/','MA-B'),
('/1/2/2/','MA-B'),
('/1/3/',''),
('/1/3/1/','PW-A'),
('/1/3/2/','PW-A'),
('/1/4/',''),
('/1/4/1/','PW-B'),
('/1/4/2/','PW-B'),
('/1/5/','0001'),
('/1/6/','0001'),
('/1/7/','0002'),
('/1/8/','0003')
我想這樣的結果來選擇表:
ItemNo ItemID Lvl MatID
0x5AC0 /1/1/ 2
0x5AD6 /1/1/1/ 3 MA-A
0x5ADA /1/1/2/ 3 MA-A
0x5B40 /1/2/ 2
0x5ADE /1/1/3/ 3 MA-B
0x5B56 /1/2/1/ 3 MA-B
0x5B5A /1/2/2/ 3 MA-B
是這個結果來自於所有的孩子一樣材質ID 'MA%'? – 2014-09-05 02:37:58