Выполнение нескольких SQL-запросов в кустах / импалах для успешного или неудачного тестирования - PullRequest
1 голос
/ 31 октября 2019

Я выполняю 100 запросов (тестовых случаев), чтобы проверить качество данных в кустах / импалах. Большинство запросов проверяют нулевые значения в зависимости от некоторых условий. Я использую условную агрегацию для подсчета тривиальных тестовых случаев, как показано ниже. Я хочу добавить более сложное условие запроса к этому типу проверки. Я также хотел бы видеть количество, если есть нули.

Я хочу знать, как включить более сложный запрос, а также добавить счетчик, если присутствуют нули. Ожидаемый результат ниже.

Что у меня есть:

SELECT (CASE WHEN COUNT(*) = COUNT(car_type) THEN 'PASS' ELSE 'FAIL' END) as car_type_test,
       (CASE WHEN COUNT(*) = COUNT(car_color) THEN 'PASS' ELSE 'FAIL' END) as car_color_test,
       (CASE WHEN COUNT(*) = COUNT(car_sale) THEN 'PASS' ELSE 'FAIL' END) as car_sale_test       
FROM car_data;

Более сложный тип запроса для добавления:

SELECT Count(*), 
       car_job 
FROM   car_data 
WHERE  car_job NOT IN ( "car_type", "car_license", "car_cancellation", 
                        "car_color", "car_contract", "car_metal", "car_number" ) 
        OR car_job IS NULL 
GROUP  BY car_job

Пример ожидаемого вывода:

car_type_test  car_color_test  car_sale_test  car_job_test
PASS           PASS             PASS           FAIL
                                               102

1 Ответ

0 голосов
/ 31 октября 2019

Я бы рекомендовал поместить это в один ряд вместо двух:

SELECT (CASE WHEN COUNT(*) = COUNT(car_type) THEN 'PASS'
             ELSE REPLACE('FAIL ([n])', '[n]', COUNT(*) - COUNT(car_type))
        END) as car_type_test,
       (CASE WHEN COUNT(*) = COUNT(car_color) THEN 'PASS'
             ELSE REPLACE('FAIL ([n])', '[n]', COUNT(*) - COUNT(car_color))
        END) as car_color_test,
       (CASE WHEN COUNT(*) = COUNT(car_sale) THEN 'PASS'
             ELSE REPLACE('FAIL ([n])', '[n]', COUNT(*) - COUNT(car_sale))
        END) as car_sale_test       
FROM car_data;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...