DB2 遞歸查詢SQL的寫法

--  DB2 遞歸查詢SQL的寫法
-- 參考:https://blog.csdn.net/kouge94/article/details/50977801

-- 第一種,從上往下,查詢數據(根據標準分類,獲取所有的子分類)

-- 第一種,從上往下,查詢數據(根據標準分類,獲取所有的子分類)
WITH TEMP(CATEGORY_ID,CATEGORY_NAME,CATEGORY_PARENT_ID) AS 
( 
---語句1 
SELECT CATEGORY_ID,CATEGORY_NAME,CATEGORY_PARENT_ID FROM T_CATEGORY WHERE CATEGORY_ID='parentId'
---語句2
UNION ALL
---語句3 
SELECT MT.CATEGORY_ID,MT.CATEGORY_NAME,MT.CATEGORY_PARENT_ID FROM T_CATEGORY AS MT, TEMP AS DT WHERE MT.CATEGORY_PARENT_ID=DT.CATEGORY_ID
) 
SELECT CATEGORY_ID,CATEGORY_NAME,CATEGORY_PARENT_ID FROM TEMP; 

-- 第二種,從下往上,查詢數據(根據子分類,獲取所有的父級分類)
 

-- 第二種,從下往上,查詢數據(根據子分類,獲取所有的父級分類)
WITH TEMP(CATEGORY_ID,CATEGORY_NAME,CATEGORY_PARENT_ID) AS 
( 
---語句1 
SELECT CATEGORY_ID,CATEGORY_NAME,CATEGORY_PARENT_ID FROM T_CATEGORY WHERE CATEGORY_ID='subId'
---語句2
UNION ALL
---語句3 
SELECT MT.CATEGORY_ID,MT.CATEGORY_NAME,MT.CATEGORY_PARENT_ID FROM T_CATEGORY AS MT, TEMP AS DT WHERE MT.CATEGORY_ID=DT.CATEGORY_PARENT_ID
) 
SELECT CATEGORY_ID,CATEGORY_NAME,CATEGORY_PARENT_ID FROM TEMP; 

若是覺得有幫助,請在下方點贊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章