2013-11-04 34 views
0

是否有這更好的辦法嗎?我想在QC特定文件夾下提取一切在質量中心有更好的方法嗎?

SELECT A.AL_FATHER_ID, A.AL_ITEM_ID, A.AL_DESCRIPTION as Folder 
FROM All_LISTS A 
where [email protected]@ 

union 
SELECT B.AL_FATHER_ID, B.AL_ITEM_ID, B.AL_DESCRIPTION as Folder 
FROM All_LISTS B 
where B.AL_FATHER_ID = (select A.AL_ITEM_ID from ALL_LISTS A where [email protected]@) 

union 
SELECT B.AL_FATHER_ID, B.AL_ITEM_ID, B.AL_DESCRIPTION as Folder 
FROM All_LISTS B 
where B.AL_FATHER_ID in (select C.AL_ITEM_ID from ALL_LISTS C where C.AL_FATHER_ID= (select A.AL_ITEM_ID from ALL_LISTS A where [email protected]@)) 

union 
SELECT B.AL_FATHER_ID, B.AL_ITEM_ID, B.AL_DESCRIPTION as Folder 
FROM All_LISTS B 
where B.AL_FATHER_ID in (select D.AL_ITEM_ID from ALL_LISTS D where D.AL_FATHER_ID in (select C.AL_ITEM_ID from ALL_LISTS C where C.AL_FATHER_ID= (select A.AL_ITEM_ID from ALL_LISTS A where [email protected]@))) 

union 
SELECT B.AL_FATHER_ID, B.AL_ITEM_ID, B.AL_DESCRIPTION as Folder 
FROM All_LISTS B 
where B.AL_FATHER_ID in (select E.AL_ITEM_ID from ALL_LISTS E where E.AL_FATHER_ID in(select D.AL_ITEM_ID from ALL_LISTS D where D.AL_FATHER_ID in (select C.AL_ITEM_ID from ALL_LISTS C where C.AL_FATHER_ID= (select A.AL_ITEM_ID from ALL_LISTS A where [email protected]@)))) 

union 
SELECT B.AL_FATHER_ID, B.AL_ITEM_ID, B.AL_DESCRIPTION as Folder 
FROM All_LISTS B 
where B.AL_FATHER_ID in (select F.AL_ITEM_ID from ALL_LISTS F where F.AL_FATHER_ID in (select E.AL_ITEM_ID from ALL_LISTS E where E.AL_FATHER_ID in(select D.AL_ITEM_ID from ALL_LISTS D where D.AL_FATHER_ID in (select C.AL_ITEM_ID from ALL_LISTS C where C.AL_FATHER_ID= (select A.AL_ITEM_ID from ALL_LISTS A where [email protected]@))))) 

感謝您的幫助

+0

「更好的方式」是什麼意思? 「提取一切」是什麼意思?你想枚舉根文件夾下的文件夾和測試?需要在SQL中完成,還是可以使用QC OTA接口?那個人有一個NodeByPath()方法,返回一個有FindTests方法的節點。那個返回節點下的項目列表。會容易得多。 – TheBlastOne

回答

0

如果你真的綁定到SQL,你可能會在良好運氣好的話可以use Oracle 11gR2's recursive subquery factoring clause,詳見http://technology.amis.nl/2009/09/01/oracle-rdbms-11gr2-goodbye-connect-by-or-the-end-of-hierarchical-querying-as-we-know-it/

否則,您可能想要以迭代方式執行您現在要做的操作。這不會致使使事情簡單,但更普遍比您發佈的解決方案(和可能更優雅),因爲一個被限制在固定數量的層級。

相關問題