-- Merchant_PerTxnLimit_Check -- CREATE TABLE team_kingkong.offus_Merchant_PerTxnLimit_Check_breaches AS INSERT INTO team_kingkong.offus_Merchant_PerTxnLimit_Check_breaches SELECT transactionid, txn_amount, txn_date, paytmmerchantid, txn_timestamp, paymethod , case when edc_mid is not null then 'EDC' else 'QR' end as mid_type , C.per_txn_limit , C.limit_date FROM (SELECT DISTINCT pg_mid from cdo.total_offline_merchant_base_snapshot_v3) f INNER join (select distinct transactionid , cast(eventamount as double)/100 as txn_amount , paytmmerchantid , globalcardindex , DATE(dl_last_updated) AS txn_date , CAST(velocitytimestamp AS DOUBLE) AS txn_timestamp , paymethod from cdp_risk_transform.maquette_flattened_offus_snapshot_v3 where dl_last_updated BETWEEN DATE(DATE'2025-05-01' - INTERVAL '1' DAY) AND DATE'2025-05-31' and paymethod in ('UPI') AND actionrecommended <> 'BLOCK' AND responsestatus = 'SUCCESS') a on a.paytmmerchantid = f.pg_mid LEFT JOIN (SELECT DISTINCT mid AS edc_mid FROM paytmpgdb.entity_edc_info_snapshot_v3 WHERE terminal_status = 'ACTIVE' AND dl_last_updated >= DATE '2010-01-01') b ON a.paytmmerchantid = b.edc_mid INNER JOIN (SELECT content as mid, CAST(comment AS DOUBLE) as per_txn_limit, "timestamp" as limit_date FROM team_kingkong.merchant_limit_list)C ON a.paytmmerchantid = C.mid AND a.txn_date > DATE(FROM_UNIXTIME(CAST(limit_date AS double) / 1000)) WHERE a.txn_amount > C.per_txn_limit;