Запрос автоматизации сверки

У меня есть одна база данных, и время от времени я изменяю некоторую часть запроса согласно требованию. я хочу вести запись результатов как до, так и после результата этих запросов в одной таблице и хочу показывать запросы, которые генерируют разницу.

Например, рассмотрим следующую таблицу

emp_id    country      salary
---------------------
1          usa         1000

2          uk          2500

3          uk         1200

4          usa          3500

5          usa          4000

6          uk          1100

Теперь мой запрос перед:

Перед запросом:

select count(emp_id) as count,country from table where salary>2000 group by country;

До результата:

count     country

2      usa

1      uk

После запроса:

select count(emp_id) as count,country from table where salary<2000 group by country;

Результат после запроса:

count     country

2      uk

1      usa

Мой окончательный результат или таблица, которую я хочу:

column 1  |   column 2  |    column 3   |   column 4 |

2              usa            2             uk

1              uk              1             usa

...... но если результаты запроса совпадают, они не должны отображаться в этой таблице.

Заранее спасибо.

1 ответ

Я считаю, что вы можете использовать тот же подход, что и здесь.

select t1.*, t2.* -- if you need specific columns without rn than you have to list them here
from
(
   select t.*, row_number() over (order by count) rn
   from
   (
     -- query #1
     select count(emp_id) as count,country from table where salary>2000 group by country;
   ) t
) t1
full join
(
   select t.*, row_number() over (order by count) rn
   from
   (
    -- query #2
    select count(emp_id) as count,country from table where salary<2000 group by country;
   ) t
) t2 on t1.rn = t2.rn
Другие вопросы по тегам