Я пытаюсь получить записи только в 1 таблице, то есть в A, но не в B case1:
select count(distinct t.col1),count(distinct t.col2)
from `table1` e
right join
(
select distinct col1,col2
from `table2_*`
where _table_suffix between '20180101' and '20181231'
)t
on e.col1=t.col1
where date(timestamp_seconds(ts))>='2018-01-01'
and e.col1 is null
;
Case2:
select count(distinct col1)
from `table2_*`
where _table_suffix between '20180101' and '20181231'
and col1 not in (
select distinct col1 from `table1`
where date(timestamp_seconds(ts))>='2018-01-01'
)
Из 2 кодов case2 сработалв то время как case1 дал 0 в качестве вывода.Я также пробовал случай 1 как левое соединение с перевернутыми таблицами, но результаты были такими же, 0 строк.Я новичок в Big Query и стандартной версии SQL и не уверен, почему это произойдет.