2013-11-04 30 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/

否则,您可能想要以迭代方式执行您现在要做的操作。这不会致使使事情简单,但更普遍比您发布的解决方案(和可能更优雅),因为一个被限制在固定数量的层级。

相关问题