У меня есть запрос, который я написал, который по существу находит записи, присутствующие в новой сборке контента, которых не было в предыдущей сборке контента.Я знаю, что это работает правильно, но теперь мне нужно отменить его, чтобы найти записи, присутствующие в предыдущей сборке контента, которые не попали в новую сборку контента.Выполняет ли второй запрос, приведенный ниже, это?
select b1.judge_id, count(*) as opinions_gain
from
(select build_opinion.build_name, judge_id, parse_type, opinion_id, date, new_jdx
from build_opinion, build_flow
where build_opinion.build_name = build_flow.previous and judge_id is not null) as b0
right join
(select build_opinion.build_name, judge_id, parse_type, opinion_id, date, new_jdx
from build_opinion, build_flow
where build_opinion.build_name = build_flow.current and judge_id is not null) as b1
on b0.opinion_id = b1.opinion_id
where b1.judge_id != b0.judge_id
group by b1.judge_id
order by opinions_gain desc
;
select b0.judge_id, count(*) as opinions_lost
from
(select build_opinion.build_name, judge_id, parse_type, opinion_id, date, new_jdx
from build_opinion, build_flow
where build_opinion.build_name = build_flow.previous and judge_id is not null) as b0
left join
(select build_opinion.build_name, judge_id, parse_type, opinion_id, date, new_jdx
from build_opinion, build_flow
where build_opinion.build_name = build_flow.current) as b1
on b0.opinion_id = b1.opinion_id
where b0.judge_id != b1.judge_id
group by b0.judge_id
order by opinions_lost desc
;
Кроме того, что было бы наиболее логичным способом получить больше информации о тех записях, которые считаются полученными или потерянными?Использование этих запросов в подзапросе «with, as»?
Схема таблицы build_opinion (другая таблица, build_flow_moondoor, это просто таблица, которая сообщает, как называются предыдущие, текущие и следующие имена сборок):
build_name character varying(32),
opinion_id character varying(32),
date timestamp without time zone,
name character varying(32768),
nickname character varying(8192),
docket_number character varying(32768),
parse_type character varying(32),
source_jdx character varying(256),
judge_name_hint character varying(8192),
first_page character varying(1024),
dupe_of character varying(32),
source_id character varying(256),
new_jdx character varying(1024),
court character varying(4096),
judge_id character varying(128),
topic character varying(64),
page_count smallint,
scanned_page_count smallint,
sentences_count smallint,
body_character_count integer,
key_phrase_count smallint,
cited_count integer,
cites_raw_count smallint,
cites_resolved_count smallint,
law_firm_count smallint,
counsels_count integer,
outcome_count smallint,
nature_of_suit smallint,
cause_of_action character varying(256),
CONSTRAINT build_opinion_pkey PRIMARY KEY (build_name, opinion_id)