2015-10-21 119 views
-1

下面的查询用于从ALM中获取阻塞测试用例的数量。是否可以在CASE语句中包含此查询,以使CASE语句的输出为“COUNT(LINK.LN_ENTITY_ID)”?将子查询包含到SQL CASE语句中

SELECT BUG.BG_BUG_ID, COUNT(LINK.LN_ENTITY_ID) AS COUNT_TC, TESTCYCL.TC_STATUS FROM BUG 
LEFT JOIN ALL_LISTS 
ON BG_SUBJECT = AL_ITEM_ID 
INNER JOIN LINK 
ON BG_BUG_ID = LN_BUG_ID 
LEFT JOIN TESTCYCL 
ON TESTCYCL.TC_TEST_ID = LINK.LN_ENTITY_ID AND LINK.LN_ENTITY_TYPE = 'TESTCYCL' 
WHERE TESTCYCL.TC_STATUS = 'Blocked' 
GROUP BY BG_BUG_ID, TESTCYCL.TC_STATUS 
+0

请注明表结构 –

回答

0
SELECT BUG.BG_BUG_ID, 
     SUM(CASE TESTCYCL.TC_STATUS WHEN ="Blocked" THEN 1 ELSE 0 END) AS COUNT_TC, 
     TESTCYCL.TC_STATUS 
    FROM BUG 
    LEFT JOIN ALL_LISTS 
    ON BG_SUBJECT = AL_ITEM_ID 
    INNER JOIN LINK 
    ON BG_BUG_ID = LN_BUG_ID 
    LEFT JOIN TESTCYCL 
    ON TESTCYCL.TC_TEST_ID = LINK.LN_ENTITY_ID AND LINK.LN_ENTITY_TYPE = 'TESTCYCL' 
    GROUP BY BG_BUG_ID 

这个查询将显示总无。状态= "blocked",每个BUG_ID(假设你需要)。

希望这会有帮助