{
  "ticket": "TW-310",
  "description": "Approved parameterized SELECTs against MNGT lucos_ro_* views only. No execute_sql; SQL text is catalog-owned.",
  "schema": "Admin",
  "defaultMaxRows": 50,
  "queries": [
    {
      "id": "get_advertiser",
      "tool": "get_advertiser",
      "view": "lucos_ro_advertiser",
      "description": "Fetch one advertiser row by adv_id",
      "maxRows": 1,
      "params": [{ "name": "adv_id", "type": "int", "required": true }],
      "sql": "SELECT adv_id, advertiser_name, company, alias, status, trusted, role, website, sales_rep, account_type, admin_type, currency, daily_cap, budget_copy, credit_limit, auto_refill_budget, refill_threshold, country, state, city, advertiser_budget, advertiser_budget_updated FROM Admin.lucos_ro_advertiser WHERE adv_id = ? LIMIT ?"
    },
    {
      "id": "get_publisher",
      "tool": "get_publisher",
      "view": "lucos_ro_publisher",
      "description": "Fetch one publisher row by publisher_id (Affiliate name)",
      "maxRows": 1,
      "params": [{ "name": "publisher_id", "type": "string", "required": true }],
      "sql": "SELECT publisher_id, company, domain, sitename, status, approved, suspended, disapproved, account_status, account_state, cap_status, click_cap, cap_count, clicks_per_day, sales_rep, account_manager, account_secondary_manager, account_sales_manager, traffic_type, traffic_geo, traffic_channel, campaign_eligibility, country, state, city FROM Admin.lucos_ro_publisher WHERE publisher_id = ? LIMIT ?"
    },
    {
      "id": "list_publisher_managers",
      "tool": "get_advertiser_report",
      "view": "lucos_ro_publisher",
      "description": "Internal AM/BD map for get_advertiser_report group_by=account_manager|account_sales_manager. publisher_id = Affiliate.name. Not a public MCP tool.",
      "maxRows": 20000,
      "params": [],
      "sql": "SELECT publisher_id, account_manager, account_sales_manager FROM Admin.lucos_ro_publisher ORDER BY publisher_id LIMIT ?"
    },
    {
      "id": "get_campaign_budget_by_campaign",
      "tool": "get_campaign_budget",
      "view": "lucos_ro_campaign_budget",
      "description": "Fetch one campaign budget row by campaign_id",
      "maxRows": 1,
      "params": [{ "name": "campaign_id", "type": "int", "required": true }],
      "sql": "SELECT campaign_id, adv_id, campaign_name, status, approved, budget, budget_spent, unlimited_budget, bid, impression_cap, freq_cap, advertiser_name, advertiser_daily_cap, advertiser_budget, advertiser_budget_updated FROM Admin.lucos_ro_campaign_budget WHERE campaign_id = ? LIMIT ?"
    },
    {
      "id": "get_campaign_budget_by_advertiser",
      "tool": "get_campaign_budget",
      "view": "lucos_ro_campaign_budget",
      "description": "Fetch campaign budget rows for an advertiser (row-capped)",
      "maxRows": 50,
      "params": [{ "name": "adv_id", "type": "int", "required": true }],
      "sql": "SELECT campaign_id, adv_id, campaign_name, status, approved, budget, budget_spent, unlimited_budget, bid, impression_cap, freq_cap, advertiser_name, advertiser_daily_cap, advertiser_budget, advertiser_budget_updated FROM Admin.lucos_ro_campaign_budget WHERE adv_id = ? ORDER BY budget_spent DESC, campaign_id LIMIT ?"
    },
    {
      "id": "get_publisher_caps",
      "tool": "get_publisher_caps",
      "view": "lucos_ro_publisher_caps",
      "description": "Fetch publisher cap rows (publisher-level + optional cap reports)",
      "maxRows": 50,
      "params": [{ "name": "publisher_id", "type": "string", "required": true }],
      "sql": "SELECT publisher_id, publisher_cap_status, publisher_click_cap, publisher_cap_count, clicks_per_day, cap_report_id, campaign_id, advertiser_id, report_click_cap, conversion_cap, cap_type, report_status, created_at, advertiser_name, affiliate_name FROM Admin.lucos_ro_publisher_caps WHERE publisher_id = ? LIMIT ?"
    },
    {
      "id": "get_publisher_caps_by_campaign",
      "tool": "get_publisher_caps",
      "view": "lucos_ro_publisher_caps",
      "description": "Fetch publisher cap rows filtered by campaign_id",
      "maxRows": 50,
      "params": [
        { "name": "publisher_id", "type": "string", "required": true },
        { "name": "campaign_id", "type": "string", "required": true }
      ],
      "sql": "SELECT publisher_id, publisher_cap_status, publisher_click_cap, publisher_cap_count, clicks_per_day, cap_report_id, campaign_id, advertiser_id, report_click_cap, conversion_cap, cap_type, report_status, created_at, advertiser_name, affiliate_name FROM Admin.lucos_ro_publisher_caps WHERE publisher_id = ? AND campaign_id = ? LIMIT ?"
    },
    {
      "id": "get_publisher_agreement_status",
      "tool": "get_publisher_agreement_status",
      "view": "lucos_ro_publisher_agreement",
      "description": "Fetch agreement_status (signed|missing) for a publisher",
      "maxRows": 1,
      "params": [{ "name": "publisher_id", "type": "string", "required": true }],
      "sql": "SELECT publisher_id, company, agreement_status, approved, contract_form FROM Admin.lucos_ro_publisher_agreement WHERE publisher_id = ? LIMIT ?"
    },
    {
      "id": "get_publisher_spaf_status",
      "tool": "get_publisher_spaf_status",
      "view": "lucos_ro_publisher_spaf",
      "description": "Fetch spaf_status (uploaded|missing) for a publisher",
      "maxRows": 1,
      "params": [{ "name": "publisher_id", "type": "string", "required": true }],
      "sql": "SELECT publisher_id, company, spaf_status, traffic_type, traffic_type_other, traffic_geo, traffic_source, traffic_channel, verticles, campaign_eligibility, approved FROM Admin.lucos_ro_publisher_spaf WHERE publisher_id = ? LIMIT ?"
    },
    {
      "id": "summarize_advertisers_by_status",
      "tool": "summarize_advertisers_by_status",
      "view": "lucos_ro_advertiser",
      "description": "Count advertisers grouped by status (Phase-2). Raw status codes from Advertiser_info.",
      "maxRows": 50,
      "params": [],
      "sql": "SELECT status, COUNT(*) AS advertiser_count FROM Admin.lucos_ro_advertiser GROUP BY status ORDER BY status LIMIT ?"
    },
    {
      "id": "summarize_publishers_by_status",
      "tool": "summarize_publishers_by_status",
      "view": "lucos_ro_publisher",
      "description": "Count publishers grouped by status (Phase-2). Raw status codes from Affiliate.",
      "maxRows": 50,
      "params": [],
      "sql": "SELECT status, COUNT(*) AS publisher_count FROM Admin.lucos_ro_publisher GROUP BY status ORDER BY status LIMIT ?"
    },
    {
      "id": "search_advertisers",
      "tool": "search_advertisers",
      "view": "lucos_ro_advertiser",
      "description": "Search advertisers by name/company/alias substring (Phase-2). Row-capped.",
      "maxRows": 25,
      "params": [{ "name": "q", "type": "string", "required": true }],
      "sql": "SELECT adv_id, advertiser_name, company, alias, status, website, sales_rep, account_type, currency, country, state, city FROM Admin.lucos_ro_advertiser WHERE CONCAT(IFNULL(advertiser_name,''), ' ', IFNULL(company,''), ' ', IFNULL(alias,'')) LIKE CONCAT('%', ?, '%') ORDER BY adv_id LIMIT ?"
    },
    {
      "id": "search_publishers",
      "tool": "search_publishers",
      "view": "lucos_ro_publisher",
      "description": "Search publishers by id/company/domain/sitename substring (Phase-2). Row-capped.",
      "maxRows": 25,
      "params": [{ "name": "q", "type": "string", "required": true }],
      "sql": "SELECT publisher_id, company, domain, sitename, status, approved, suspended, disapproved, account_status, account_state, country, state, city FROM Admin.lucos_ro_publisher WHERE CONCAT(IFNULL(publisher_id,''), ' ', IFNULL(company,''), ' ', IFNULL(domain,''), ' ', IFNULL(sitename,'')) LIKE CONCAT('%', ?, '%') ORDER BY publisher_id LIMIT ?"
    },
    {
      "id": "list_publishers_pending_approval",
      "tool": "list_publishers_pending_approval",
      "view": "lucos_ro_publisher",
      "description": "List publishers with approved=0 and not disapproved (Phase-2). Safe columns only.",
      "maxRows": 50,
      "params": [],
      "sql": "SELECT publisher_id, company, domain, sitename, status, approved, suspended, disapproved, account_status, account_state, sales_rep, account_manager FROM Admin.lucos_ro_publisher WHERE approved = 0 AND (disapproved = 0 OR disapproved IS NULL) ORDER BY publisher_id LIMIT ?"
    },
    {
      "id": "list_publishers_missing_agreement",
      "tool": "list_publishers_missing_agreement",
      "view": "lucos_ro_publisher_agreement",
      "description": "List publishers with agreement_status=missing (Phase-2).",
      "maxRows": 50,
      "params": [],
      "sql": "SELECT publisher_id, company, agreement_status, approved, contract_form FROM Admin.lucos_ro_publisher_agreement WHERE agreement_status = 'missing' ORDER BY publisher_id LIMIT ?"
    },
    {
      "id": "list_publishers_missing_spaf",
      "tool": "list_publishers_missing_spaf",
      "view": "lucos_ro_publisher_spaf",
      "description": "List publishers with spaf_status=missing (Phase-2).",
      "maxRows": 50,
      "params": [],
      "sql": "SELECT publisher_id, company, spaf_status, traffic_type, traffic_geo, traffic_channel, campaign_eligibility, approved FROM Admin.lucos_ro_publisher_spaf WHERE spaf_status = 'missing' ORDER BY publisher_id LIMIT ?"
    },
    {
      "id": "list_campaigns",
      "tool": "list_campaigns",
      "view": "lucos_ro_campaign_budget",
      "description": "List campaigns for an advertiser (Phase-2). Row-capped budget projection.",
      "maxRows": 50,
      "params": [{ "name": "adv_id", "type": "int", "required": true }],
      "sql": "SELECT campaign_id, adv_id, campaign_name, status, approved, budget, budget_spent, unlimited_budget, bid, impression_cap, freq_cap, advertiser_name FROM Admin.lucos_ro_campaign_budget WHERE adv_id = ? ORDER BY budget_spent DESC, campaign_id LIMIT ?"
    },
    {
      "id": "list_traffic_channels",
      "tool": "list_traffic_channels",
      "view": "lucos_ro_traffic_channels",
      "description": "List product tags (traffic_channels catalog). Search_31 = Contextual JS Banner Publisher.",
      "maxRows": 200,
      "params": [],
      "sql": "SELECT prod_type, traffic_id, traffic_name, status FROM Admin.lucos_ro_traffic_channels ORDER BY traffic_id LIMIT ?"
    },
    {
      "id": "list_campaigns_by_product_tag",
      "tool": "list_campaigns_by_product_tag",
      "view": "lucos_ro_campaign_product_targeting",
      "description": "List campaigns by product tag (traffic_id). Cross-advertiser when adv_id omitted.",
      "maxRows": 100,
      "params": [{ "name": "traffic_id", "type": "string", "required": true }],
      "sql": "SELECT campaign_id, adv_id, advertiser_name, campaign_name, status, approved, prod_type, traffic_id, traffic_name FROM Admin.lucos_ro_campaign_product_targeting WHERE traffic_id = ? ORDER BY campaign_id LIMIT ?"
    },
    {
      "id": "list_campaigns_by_product_tag_for_volume",
      "tool": "get_datafeed_traffic_report",
      "view": "lucos_ro_campaign_product_targeting",
      "description": "Campaign ids for a product tag used to filter Cake CPC volume (higher cap than the list tool).",
      "maxRows": 2000,
      "params": [{ "name": "traffic_id", "type": "string", "required": true }],
      "sql": "SELECT campaign_id, traffic_id, traffic_name FROM Admin.lucos_ro_campaign_product_targeting WHERE traffic_id = ? ORDER BY campaign_id LIMIT ?"
    },
    {
      "id": "list_campaigns_by_product_tag_and_advertiser",
      "tool": "list_campaigns_by_product_tag",
      "view": "lucos_ro_campaign_product_targeting",
      "description": "List campaigns by product tag (traffic_id) scoped to one advertiser.",
      "maxRows": 100,
      "params": [
        { "name": "traffic_id", "type": "string", "required": true },
        { "name": "adv_id", "type": "int", "required": true }
      ],
      "sql": "SELECT campaign_id, adv_id, advertiser_name, campaign_name, status, approved, prod_type, traffic_id, traffic_name FROM Admin.lucos_ro_campaign_product_targeting WHERE traffic_id = ? AND adv_id = ? ORDER BY campaign_id LIMIT ?"
    },
    {
      "id": "search_campaigns_by_domain_targeting_include",
      "tool": "search_campaigns_by_domain_targeting",
      "view": "lucos_ro_campaign_product_targeting",
      "description": "Campaigns whose domain whitelist (include) contains domain, scoped by adv_id.",
      "maxRows": 50,
      "params": [
        { "name": "adv_id", "type": "int", "required": true },
        { "name": "domain", "type": "string", "required": true }
      ],
      "sql": "SELECT c.campaign_id, c.adv_id, c.advertiser_name, c.campaign_name, c.status, c.approved, c.prod_type, c.traffic_id, c.traffic_name, m.list_id, m.list_name, m.domain, 'include' AS list_mode FROM Admin.lucos_ro_campaign_product_targeting c INNER JOIN Admin.lucos_ro_domain_list_members m ON JSON_CONTAINS(c.include_list_ids, CAST(m.list_id AS JSON), '$') WHERE c.adv_id = ? AND LOWER(m.domain) = LOWER(?) ORDER BY c.campaign_id, m.list_id LIMIT ?"
    },
    {
      "id": "search_campaigns_by_domain_targeting_include_and_tag",
      "tool": "search_campaigns_by_domain_targeting",
      "view": "lucos_ro_campaign_product_targeting",
      "description": "Campaigns with domain whitelist match + product tag, scoped by adv_id.",
      "maxRows": 50,
      "params": [
        { "name": "adv_id", "type": "int", "required": true },
        { "name": "domain", "type": "string", "required": true },
        { "name": "traffic_id", "type": "string", "required": true }
      ],
      "sql": "SELECT c.campaign_id, c.adv_id, c.advertiser_name, c.campaign_name, c.status, c.approved, c.prod_type, c.traffic_id, c.traffic_name, m.list_id, m.list_name, m.domain, 'include' AS list_mode FROM Admin.lucos_ro_campaign_product_targeting c INNER JOIN Admin.lucos_ro_domain_list_members m ON JSON_CONTAINS(c.include_list_ids, CAST(m.list_id AS JSON), '$') WHERE c.adv_id = ? AND LOWER(m.domain) = LOWER(?) AND c.traffic_id = ? ORDER BY c.campaign_id, m.list_id LIMIT ?"
    },
    {
      "id": "search_campaigns_by_domain_targeting_exclude",
      "tool": "search_campaigns_by_domain_targeting",
      "view": "lucos_ro_campaign_product_targeting",
      "description": "Campaigns whose domain blacklist (exclude) contains domain, scoped by adv_id.",
      "maxRows": 50,
      "params": [
        { "name": "adv_id", "type": "int", "required": true },
        { "name": "domain", "type": "string", "required": true }
      ],
      "sql": "SELECT c.campaign_id, c.adv_id, c.advertiser_name, c.campaign_name, c.status, c.approved, c.prod_type, c.traffic_id, c.traffic_name, m.list_id, m.list_name, m.domain, 'exclude' AS list_mode FROM Admin.lucos_ro_campaign_product_targeting c INNER JOIN Admin.lucos_ro_domain_list_members m ON JSON_CONTAINS(c.exclude_list_ids, CAST(m.list_id AS JSON), '$') WHERE c.adv_id = ? AND LOWER(m.domain) = LOWER(?) ORDER BY c.campaign_id, m.list_id LIMIT ?"
    },
    {
      "id": "search_campaigns_by_domain_targeting_exclude_and_tag",
      "tool": "search_campaigns_by_domain_targeting",
      "view": "lucos_ro_campaign_product_targeting",
      "description": "Campaigns with domain blacklist match + product tag, scoped by adv_id.",
      "maxRows": 50,
      "params": [
        { "name": "adv_id", "type": "int", "required": true },
        { "name": "domain", "type": "string", "required": true },
        { "name": "traffic_id", "type": "string", "required": true }
      ],
      "sql": "SELECT c.campaign_id, c.adv_id, c.advertiser_name, c.campaign_name, c.status, c.approved, c.prod_type, c.traffic_id, c.traffic_name, m.list_id, m.list_name, m.domain, 'exclude' AS list_mode FROM Admin.lucos_ro_campaign_product_targeting c INNER JOIN Admin.lucos_ro_domain_list_members m ON JSON_CONTAINS(c.exclude_list_ids, CAST(m.list_id AS JSON), '$') WHERE c.adv_id = ? AND LOWER(m.domain) = LOWER(?) AND c.traffic_id = ? ORDER BY c.campaign_id, m.list_id LIMIT ?"
    },
    {
      "id": "search_oos_site_mapping",
      "tool": "search_oos_site_mapping",
      "view": "lucos_ro_oos_site_mapping",
      "description": "Search SERP OOS site mapping by serp_site substring (not a campaign list).",
      "maxRows": 50,
      "params": [{ "name": "q", "type": "string", "required": true }],
      "sql": "SELECT id, serp_site, rep_cms_site_id, theme, status FROM Admin.lucos_ro_oos_site_mapping WHERE serp_site LIKE CONCAT('%', ?, '%') ORDER BY id LIMIT ?"
    },
    {
      "id": "list_advertisers_without_recent_campaigns",
      "tool": "list_advertisers_without_recent_campaigns",
      "view": "lucos_ro_advertiser",
      "description": "Advertisers with zero campaigns whose created_at falls in [date_from, date_to] (inclusive). Includes advertisers with only older campaigns and advertisers with none. Requires lucos_ro_campaign_budget.created_at (campaign.creation).",
      "maxRows": 50,
      "params": [
        { "name": "date_from", "type": "string", "required": true },
        { "name": "date_to", "type": "string", "required": true }
      ],
      "sql": "SELECT a.adv_id, a.advertiser_name, a.company, a.status, COUNT(c.campaign_id) AS campaign_count, MAX(c.created_at) AS last_campaign_created FROM Admin.lucos_ro_advertiser a LEFT JOIN Admin.lucos_ro_campaign_budget c ON c.adv_id = a.adv_id GROUP BY a.adv_id, a.advertiser_name, a.company, a.status HAVING SUM(CASE WHEN c.created_at >= ? AND c.created_at < DATE_ADD(?, INTERVAL 1 DAY) THEN 1 ELSE 0 END) = 0 ORDER BY ISNULL(MAX(c.created_at)), MAX(c.created_at) DESC LIMIT ?"
    },
    {
      "id": "list_publishers_onboarded",
      "tool": "list_publishers_onboarded",
      "view": "lucos_ro_publisher",
      "description": "Publishers whose onboarded_at (FROM_UNIXTIME(Affiliate_info.timedate)) falls in [date_from, date_to] inclusive. Requires lucos_ro_publisher.onboarded_at.",
      "maxRows": 50,
      "params": [
        { "name": "date_from", "type": "string", "required": true },
        { "name": "date_to", "type": "string", "required": true }
      ],
      "sql": "SELECT publisher_id, company, status, approved, account_status, onboarded_at FROM Admin.lucos_ro_publisher WHERE onboarded_at >= ? AND onboarded_at < DATE_ADD(?, INTERVAL 1 DAY) ORDER BY onboarded_at DESC LIMIT ?"
    },
    {
      "id": "list_campaigns_at_cap",
      "tool": "list_campaigns_at_cap",
      "view": "lucos_ro_campaign_budget",
      "description": "Campaigns currently at budget cap for one advertiser: unlimited_budget=0, budget>0, budget_spent>=budget. Derived cap_status=at_budget_cap. Snapshot, not a cap-hit timestamp.",
      "maxRows": 50,
      "params": [{ "name": "adv_id", "type": "int", "required": true }],
      "sql": "SELECT campaign_id, adv_id, campaign_name, status, approved, budget, budget_spent, unlimited_budget, impression_cap, freq_cap, advertiser_name, 'at_budget_cap' AS cap_status FROM Admin.lucos_ro_campaign_budget WHERE adv_id = ? AND unlimited_budget = 0 AND budget > 0 AND budget_spent >= budget ORDER BY budget_spent DESC LIMIT ?"
    },
    {
      "id": "list_campaigns_capped_frequently",
      "tool": "list_campaigns_capped_frequently",
      "view": "lucos_ro_campaign_budget",
      "description": "Campaigns for one advertiser with at least min_days_at_cap days in the window where daily spent>=daily budget (lucos_ro_campaign_daily_budget / daily_budget_stats), joined to current get_campaign_budget fields. Requires the daily-budget view.",
      "maxRows": 50,
      "params": [
        { "name": "adv_id", "type": "int", "required": true },
        { "name": "date_from", "type": "string", "required": true },
        { "name": "date_to", "type": "string", "required": true },
        { "name": "adv_id", "type": "int", "required": true },
        { "name": "min_days_at_cap", "type": "int", "required": true }
      ],
      "sql": "SELECT c.campaign_id, c.adv_id, c.campaign_name, c.status, c.budget, c.budget_spent, c.unlimited_budget, c.impression_cap, c.freq_cap, c.advertiser_name, h.days_at_cap, h.days_in_window, h.history_spent FROM Admin.lucos_ro_campaign_budget c INNER JOIN (SELECT campaign_id, COUNT(*) AS days_in_window, SUM(at_cap) AS days_at_cap, SUM(spent) AS history_spent FROM (SELECT campaign_id, stat_date, SUM(spent) AS spent, CASE WHEN MAX(budget) > 0 AND SUM(spent) >= MAX(budget) THEN 1 ELSE 0 END AS at_cap FROM Admin.lucos_ro_campaign_daily_budget WHERE adv_id = ? AND stat_date >= ? AND stat_date < DATE_ADD(?, INTERVAL 1 DAY) GROUP BY campaign_id, stat_date) day_rows GROUP BY campaign_id) h ON h.campaign_id = c.campaign_id WHERE c.adv_id = ? AND h.days_at_cap >= ? ORDER BY h.days_at_cap DESC, h.history_spent DESC LIMIT ?"
    },
    {
      "id": "list_advertisers_by_budget",
      "tool": "list_advertisers_by_budget",
      "view": "lucos_ro_advertiser",
      "description": "Rank all advertisers by advertiser_budget (Advertiser_budget.budget = prepaid credit balance) descending. Optional status filter. Excludes rows where advertiser_budget IS NULL (advertiser has no balance record). Row-capped at 50.",
      "maxRows": 50,
      "params": [],
      "sql": "SELECT adv_id, advertiser_name, company, alias, status, currency, advertiser_budget, advertiser_budget_updated FROM Admin.lucos_ro_advertiser WHERE advertiser_budget IS NOT NULL ORDER BY advertiser_budget DESC LIMIT ?"
    },
    {
      "id": "list_advertisers_by_budget_active",
      "tool": "list_advertisers_by_budget",
      "view": "lucos_ro_advertiser",
      "description": "Rank active advertisers (status=1 or status=2) by advertiser_budget descending. Row-capped at 50.",
      "maxRows": 50,
      "params": [{ "name": "status", "type": "int", "required": true }],
      "sql": "SELECT adv_id, advertiser_name, company, alias, status, currency, advertiser_budget, advertiser_budget_updated FROM Admin.lucos_ro_advertiser WHERE advertiser_budget IS NOT NULL AND status = ? ORDER BY advertiser_budget DESC LIMIT ?"
    },
    {
      "id": "list_campaigns_capped_frequently_unscoped",
      "tool": "list_campaigns_capped_frequently",
      "view": "lucos_ro_campaign_budget",
      "description": "Top campaigns across advertisers with at least min_days_at_cap days in the window where daily spent>=daily budget (lucos_ro_campaign_daily_budget / daily_budget_stats), joined to current get_campaign_budget fields. Bounded top 50 by days_at_cap — not an unbounded all-advertiser scan. Requires the daily-budget view.",
      "maxRows": 50,
      "params": [
        { "name": "date_from", "type": "string", "required": true },
        { "name": "date_to", "type": "string", "required": true },
        { "name": "min_days_at_cap", "type": "int", "required": true }
      ],
      "sql": "SELECT c.campaign_id, c.adv_id, c.campaign_name, c.status, c.budget, c.budget_spent, c.unlimited_budget, c.impression_cap, c.freq_cap, c.advertiser_name, h.days_at_cap, h.days_in_window, h.history_spent FROM Admin.lucos_ro_campaign_budget c INNER JOIN (SELECT campaign_id, COUNT(*) AS days_in_window, SUM(at_cap) AS days_at_cap, SUM(spent) AS history_spent FROM (SELECT campaign_id, stat_date, SUM(spent) AS spent, CASE WHEN MAX(budget) > 0 AND SUM(spent) >= MAX(budget) THEN 1 ELSE 0 END AS at_cap FROM Admin.lucos_ro_campaign_daily_budget WHERE stat_date >= ? AND stat_date < DATE_ADD(?, INTERVAL 1 DAY) GROUP BY campaign_id, stat_date) day_rows GROUP BY campaign_id) h ON h.campaign_id = c.campaign_id WHERE h.days_at_cap >= ? ORDER BY h.days_at_cap DESC, h.history_spent DESC LIMIT ?"
    }
  ]
}
