我试图寻找类似问题的答案,但没有一个起作用。
我有两个查询,并且希望同时合并两个查询的结果。这是有关ALM中某个测试用例的运行总数。
我收到有关缺少括号的错误,但它们似乎很平衡。
SELECT "Test Naam1", "Execution Status", "Test Case ID", "Totaal2", "Test Naam2", "Totaal1"
FROM
(
(SELECT
TS_NAME as "Test Naam",
RN_STATUS AS "Execution Status",
RN_TESTCYCL_ID AS "Test Case ID" ,
COUNT(*) as "Totaal2"
FROM
RUN, TEST
where
RN_TESTCYCL_ID IN (8492,8493,8494,8495,8496,8497,8498,8499,8500,8502)
AND RN_TEST_ID = TS_TEST_ID
AND RN_EXECUTION_DATE > to_date('2019/07/09 00:00:00', 'YYYY/MM/DD HH24:MI:SS') /*calculate only after 8th of july (stable tests) */
group by
RN_STATUS,
RN_TESTCYCL_ID
,RN_TEST_ID
,TS_NAME
,TEST.TS_TEST_ID
ORDER BY ts_NAME)as t1
LEFT JOIN
(SELECT
TS_NAME as "Test Naam2",
RN_TESTCYCL_ID AS "Test Case ID" ,
COUNT(*) as "Totaal1"
FROM
RUN, TEST
where
RN_TESTCYCL_ID IN (8492,8493,8494,8495,8496,8497,8498,8499,8500,8502)
AND RN_TEST_ID = TS_TEST_ID
AND RN_EXECUTION_DATE > to_date('2019/07/09 00:00:00', 'YYYY/MM/DD HH24:MI:SS') /*calculate only after 8th of july (stable tests) */
group by
RN_TESTCYCL_ID
,RN_TEST_ID
,TS_NAME
,TEST.TS_TEST_ID
ORDER BY ts_NAME)as t2
)
where "Test Naam1" = "Test Naam2"
因此,我希望有一个表,该表针对每个状态运行的每个测试用例都具有结果数量(示例test1、12个通过,10个失败,5个未完成(query1),以及来自query2的总运行次数特定的test1 27次总运行(最后我想知道已通过的运行百分比
答案 0 :(得分:2)
内嵌评论解决了多个问题,如下所示:
SELECT
"Test Naam1",
"Execution Status",
"Test Case ID",
"Totaal2",
"Test Naam2",
"Totaal1"
FROM
( (
SELECT
TS_NAME AS "Test Naam",
RN_STATUS AS "Execution Status",
RN_TESTCYCL_ID AS "Test Case ID",
COUNT(*) AS "Totaal2"
FROM
RUN,
TEST
WHERE
RN_TESTCYCL_ID IN (
8492,
8493,
8494,
8495,
8496,
8497,
8498,
8499,
8500,
8502
)
AND RN_TEST_ID = TS_TEST_ID
AND RN_EXECUTION_DATE > TO_DATE('2019/07/09 00:00:00', 'YYYY/MM/DD HH24:MI:SS') /*calculate only after 8th of july (stable tests) */
GROUP BY
RN_STATUS,
RN_TESTCYCL_ID,
RN_TEST_ID,
TS_NAME,
TEST.TS_TEST_ID
ORDER BY
TS_NAME
) t1 -- "AS" BEFORE T1 WAS REMOVED
LEFT JOIN (
SELECT
TS_NAME AS "Test Naam2",
RN_TESTCYCL_ID AS "Test Case ID",
COUNT(*) AS "Totaal1"
FROM
RUN,
TEST
WHERE
RN_TESTCYCL_ID IN (
8492,
8493,
8494,
8495,
8496,
8497,
8498,
8499,
8500,
8502
)
AND RN_TEST_ID = TS_TEST_ID
AND RN_EXECUTION_DATE > TO_DATE('2019/07/09 00:00:00', 'YYYY/MM/DD HH24:MI:SS') /*calculate only after 8th of july (stable tests) */
GROUP BY
RN_TESTCYCL_ID,
RN_TEST_ID,
TS_NAME,
TEST.TS_TEST_ID
ORDER BY
TS_NAME
) T2 ON (T1."Test Naam1" = T2."Test Naam2")) -- "AS" BEFORE T2 WAS REMOVED
-- where "Test Naam1" = "Test Naam2" -- THIS IS "ON" CONDITION OF JOIN. SO REMOVED "WHERE CLAUSE"
干杯!