, v2p AS (
SELECT DISTINCT video_asin, product_asin
from video_table
where video_asin IN (
‘ABC’,
‘CDF’,
‘DEF’,
‘FRW’)
)
, video_data AS (
SELECT distinct
start_date::date,
video_view,
video_asin,
page_asin
FROM video_metrics
WHERE
page_asin IN (select DISTINCT product_asin from v2p)
AND start_date between TO_DATE('01/26/2018','MM-DD-YYYY') and TO_DATE('02/04/2018','MM-DD-YYYY') + 0.9999
)
select sum(video_view) from video_data;
Я выполняю простой запрос, но получаю странные результаты с IN и NOT IN.
(1). Когда я делаю page_asin IN (select DISTINCT product_asin from v2p),
, я получаю 1,109,567 как select sum(video_view) from video_data;
(2). Когда я делаю тот же запрос, но с NOT IN page_asin NOT IN (select DISTINCT product_asin from v2p),
, я получаю 7,032,405 в виде суммы.
(3). Если я удаляю всю эту строку (page_asin IN (select DISTINCT product_asin from v2p),
), чтобы получить все результаты, я получаю 8,148,803. как сумму.
Но я предположил, что если я добавлю (1) и (2), я должен получить (3).
Но на самом деле я получаю: 1,109,567 + 7,032,405 = 8,141,972 И НЕ 8,148,803. от (3).
Почему это происходит? Почему мне не хватает ~ 7000 просмотров видео?