Я создаю представление, которое предназначено для объединения расходов из двух источников и агрегирования по дате и деловому партнеру на ежедневном уровне.
Это текущий запрос:
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 с "
Я бы не подумал, что возникнет проблема с несколькими строками, потому что я пытаюсь создать столбец и получить его из один столбец для этого. Что я ошибаюсь?