Я пытаюсь получить сумму транзакций за последние 30 дней. Но я также должен быть уверен, что на учетных записях также нет комментариев #KYC:
Я в Снежинке и пробовал запускать различные подзапросы и объединения. Я официально застрял.
SELECT SUM(amount_base_unit) as GPV, p.unit_token FROM PAYMENTS_DW.PUBLIC.PAYMENT_TRANSACTIONS as p
WHERE country_code='US'
AND NOT EXISTS (
SELECT c.target_token FROM REGULATOR.RAW_OLTP.COMMENTS as c
WHERE c.text ILIKE '%#KYC:Pass%'
and c.updated_at < '2019-10-11'
)
AND is_GPV='1'
AND PAYMENT_TRX_RECOGNIZED_AT BETWEEN dateadd(month,-3,current_timestamp()) AND dateadd(month,0,current_timestamp())
GROUP BY unit_token
HAVING SUM(amount_base_unit) >= 10000000
LIMIT 5
;
Он не возвращает никаких строк (что, я знаю, не правильно). Любые идеи, ребята?
РЕДАКТИРОВАНИЕ / ОБНОВЛЕНИЕ:
Я переключил запрос вверх, чтобы увидеть, что идет не так, и похоже, что подзапрос является виновником. Фильтр NOT ILIKE KYC: Pass работает до тех пор, пока я не добавлю совокупный подзапрос для суммирования транзакций.
FROM REGULATOR.RAW_OLTP.CASES c
JOIN REGULATOR.RAW_OLTP.AUDIT_LOGS ral
ON ral.case_id = c.id
WHERE ral.comment not ilike '%#KYC:Pass%'
AND EXISTS (SELECT SUM(p.amount_base_unit) FROM PAYMENTS_DW.PUBLIC.PAYMENT_TRANSACTIONS as p
WHERE p.country_code ='US'
AND p.is_GPV='1'
AND p.PAYMENT_TRX_RECOGNIZED_AT BETWEEN dateadd(month,-1,current_timestamp()) AND dateadd(month,0,current_timestamp())
GROUP BY p.unit_token
HAVING SUM(p.amount_base_unit) >= 10000000)
LIMIT 5
;
Итак, я думаю, что ближе, *? 1015 *