Я написал запрос, чтобы получить полную противоположность результата, который выдает мой запрос.
запрос 1:
select count(*) from DB.titlecard tt
join _date d on d.td_id = tt.td_id
join sometask s on s.s_id = tt.s_id and d.em_id = s.em_id
where d.`date` > "2019-01-01";
он дает мне счет 21354 результат.
запрос 2: (аналогичный запрос без соединения с несколькими заданиями)
select count(*) from DB.titlecard tt
join _date d on d.td_id = tt.td_id
where d.`date` > "2019-01-01";
, который производит 28984
мне нужны записи, которые отличаются от запроса 2 - запрос 1
примерно так, но он дает 1000 000 записей.
select count(*) from DB.titlecard tt
join _date d on d.td_id = tt.td_id
join sometask s on s.s_id <> tt.s_id and d.em_id = s.em_id
where d.`date` > "2019-01-01";
я знаю, чтобы получить разницу, сравнивая оба запроса.
но я ищу лучший способ в пределах одного запроса (потому что я добавил только одну таблицу в запросе 1)
только это была разница, запрос 1:
join sometask s on s.s_id = tt.s_id
условие, которое я хочу применить,
join sometask s on s.s_id <> tt.s_id