Исправление ошибки «однострочный подзапрос возвращает более одной строки» Ошибка SQL Workbench - PullRequest
0 голосов
/ 09 мая 2020

Я создаю представление, которое предназначено для объединения расходов из двух источников и агрегирования по дате и деловому партнеру на ежедневном уровне.

Это текущий запрос:

DROP VIEW IF EXISTS schema1.v_raw_spend_daily_agg CASCADE;

CREATE OR REPLACE VIEW schema1.v_raw_spend_daily_agg AS

(SELECT

  date,
  partner,
  spend

FROM

(
 (SELECT pspend.date, pspend.partner, sum(pspend.spend) AS spend
   FROM schema1.partnerspend pspend

  GROUP BY pspend.date, pspend.partner)



UNION ALL



 (SELECT dspend.date, (SELECT site_dcm FROM schema2.v_site_dcm_by_placement) AS partner, sum(dspend.cost) AS spend
   FROM schema3.client_all_spend dspend
   WHERE placement_id IN (SELECT * FROM schema1.unique_client_dcm_placement_ids)
  GROUP BY dspend.date,partner)
  )GROUP BY date, partner, spend
  ORDER BY date
  );

Источник расходов 2 не имеет столбца «партнер» и должен получать эти данные из одного столбца schema2.v_site_dcm_by_placement просмотр. Результат этого представления выглядит следующим образом:

schema2.v_site_dcm_by_placement пример вывода

Итак, я пытаюсь использовать столбец site_dcm из представленного выше представления в качестве партнера столбик для второй части союза. Когда я запускаю подзапрос сам по себе, он работает без проблем, но когда я пытаюсь запустить весь блок кода для этого второго объединения, я получаю сообщение об ошибке

«Amazon Invalid operation: Invalid Query: Details :


ошибка: недопустимый запрос: код: 8001 контекст: однострочный подзапрос возвращает более одной строки запроса: 25853185 расположение: _rds_bin_padb.1.0.15005_data_exec_238_1422190062_950c34f01552883a404c9e8dca7. = 4883] ----------------------------------------------- ; 1 оператор не выполнен.

Время выполнения: 0,16 с "

Я бы не подумал, что возникнет проблема с несколькими строками, потому что я пытаюсь создать столбец и получить его из один столбец для этого. Что я ошибаюсь?

...