Объединение двух результатов запроса приводит к ошибке отсутствия скобок - PullRequest
0 голосов
/ 11 июля 2019

Я пытался найти ответ на похожие вопросы, но ни один из них не работает.

У меня есть два запроса, и я хочу объединить результаты обоих. Это общее количество прогонов для определенного теста в 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 общее количество выполнений для этого Конкретный тест1 27 всего прогонов (в конце я хочу узнать процент пройденных прогонов

1 Ответ

2 голосов
/ 11 июля 2019

Существует несколько проблем, которые решаются с помощью встроенных комментариев следующим образом:

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"

Ура !! * * 1004

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...