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