我需要編寫一個存儲過程來返回從兒童到父母的訂單上的一些數據。描述我想要做什麼很複雜,但讓我試試它: 假設我們有這樣的層次結構稱爲分類:家長> Child1> CHILD2> Child3,所有存儲在使用SQL HIERARCHYID:使用SQL HierarchyID分別從兒童到父母選擇
Category Table
--------------
Cat_ID | Cat_Name
..............................
/1/ | News
/1/1/ | NewsOfUSA
/1/1/1/ | NewsOfWestUSA
/1/1/1/1/ | NewsOfWashington
我們已經保存的新聞與這些分類如下:
News Table
-------------
News_ID | FK_Cat_ID | News_Content
.........................................
0001 | /1/ | one
0002 | /1/1/ | two
0003 | /1/1/1/ | three
0004 | /1/1/1/1/ | four1
0005 | /1/1/1/1/ | four2
0006 | /1/1/1/1/ | four3
0007 | /1/1/1/1/ | four4
最後我想選擇「樣本」 p十大新聞與此條件:
如果NewsOfWashington有10個消息,然後選擇它, 別的選擇NewsOfWestUSA, 別的選擇NewsOfUSA, 別的選擇新聞, 直到您達到十個
而且要選擇的順序是這樣的
four4,four3,four2,four1,three,two,one
我試過使用遞歸CTE,但找不到實現它的正確方法。
通過'UNION'使用多個查詢? – Malk
@Malk,不,不,不要,只是這兩個表我想先檢查,如果新聞標記與NewsOfWashington達到10或不,如果不從他的父母NewsOfWestUSA選擇等等... – Yasin