2017-04-26 47 views
1

你好有益的HP ALM大師,要求:需要一個查詢將返回運行步驟和最後執行的測試實驗室的步驟狀態運行

我目前使用下面的查詢:

SELECT 
CF_ITEM_NAME as "Test Set Folder Name", 
CY_CYCLE as "Test Set Name", 
TS_NAME as "Test Case Name", 
RN_STATUS as "Test Case Status", 
ST_STEP_NAME as "Test Step Name", 
ST_STATUS as "Test Step Status", 
ST_DESCRIPTION as "Test Step Description", 
ST_EXPECTED as "Test Step Expected Result", 
ST_ACTUAL as "Test Step Actual Result", 
RN_HOST as "Test Host Name", 
RN_TESTER_NAME as "Tester Name", 
ST_EXECUTION_DATE as "Test Step Execution Date", 
ST_EXECUTION_TIME as "Test Step Execution Time" 
FROM STEP a, TEST b, CYCLE c,RUN d,CYCL_FOLD e 
where 
a.ST_TEST_ID=b.TS_TEST_ID and 
c.CY_CYCLE_ID=d.RN_CYCLE_ID and 
d.RN_TEST_ID=b.TS_TEST_ID and 
e.CF_ITEM_ID=c.CY_FOLDER_ID and 
RN_HOST IS NOT NULL and 
RN_TESTER_NAME IS NOT NULL and 
CF_ITEM_PATH like 'AAAAAG%' 
//CF_ITEM_ID like '267%' //Comment this or CF_ITEM_PATH and use the other 
ORDER BY TS_NAME,RN_RUN_ID,ST_RUN_ID,ST_EXECUTION_DATE,ST_EXECUTION_TIME ASC 

不幸的是,這個查詢的問題是,它需要我運行一個單獨的查詢來捕獲我的多項目ALM項目中的所有CF_ITEM_PATH值。然後我必須將該字符串插入「CF_ITEM_PATH like」字段並獲取一個列表。

是否有可能創建並運行至少返回以下數據的查詢? TS_NAME,ST_STEP_NAME,ST_STATUS_ST_DESCRIPTION,ST_EXPECTED,ST_ACTUAL,ST_EXECUTION_DATE

我想查詢爲測試計劃中最近/最後執行的測試集提取此數據。這可能嗎?如何做呢?如果無法完成,是否可以更改我的上述查詢以使用測試集的運行ID值而不是CF_ITEM_PATH來獲取我所需的信息?怎麼樣?

請注意,我沒有SQL經驗,需要詳細的說明。

謝謝你的幫助!

+1

向我們展示db架構,示例數據和預期輸出。 \t請閱讀[**如何提問**](http://stackoverflow.com/help/how-to-ask) \t \t這裏是一個偉大的地方[** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)來了解如何提高您的問題質量並獲得更好的答案。如何創建一個最小化,完整和可驗證的示例**(http://stackoverflow.com/help/mcve) –

+0

推廣使用'JOIN' sintaxis,Aaron Bertrand寫了一篇不錯的文章[踢壞的習慣:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx ) 關於它。 –

回答

0
SELECT C1.CY_CYCLE_ID , C1.CY_CYCLE AS TEST_SET_NAME , TC1.TC_TEST_ID , T.TS_NAME 
, R1.RN_STATUS , R1.RN_RUN_ID , R1.RN_RUN_NAME, R1.RN_TESTER_NAME ,S1.ST_STEP_NAME , S1.ST_DESCRIPTION , S1.ST_EXPECTED , S1.ST_ACTUAL 
FROM CYCL_FOLD CF1 , CYCL_FOLD CF2 , CYCLE C1 , TESTCYCL TC1 , TEST T , RUN R1 , STEP S1 
WHERE 
CF1.CF_ITEM_NAME = 'Cycle One' AND 
CF2.CF_ITEM_PATH LIKE CONCAT(CF1.CF_ITEM_PATH,'%') AND 
C1.CY_FOLDER_ID = CF2.CF_ITEM_ID AND 
TC1.TC_CYCLE_ID = C1.CY_CYCLE_ID 
AND 
T.TS_TEST_ID = TC1.TC_TEST_ID 
AND 
R1.RN_TESTCYCL_ID = TC1.TC_TESTCYCL_ID 
AND 
R1.RN_TEST_ID = TC1.TC_TEST_ID 
AND 
S1.ST_RUN_ID = R1.RN_RUN_ID 
+0

你好@Barney。感謝您的時間和協助。該腳本在執行時會返回錯誤,如下所示:'ERROR ------------------------------------- ---------------- SQL查詢未能運行,並出現以下錯誤: [Mercury] [SQLServer JDBC驅動程序] [SQLServer]'CONCAT'未識別內置函數名稱.' –

相關問題