Ошибка миграции материализованного представления с использованием knex

У меня есть SQL-запрос, который написал наставник моей компании, который создает таблицу со столбцами voucher_Id, quantity, used и remaining, однако он показал мне пример того, что мне нужно в моей базе данных postgres, и написал его внутри инструмента запросов. Я внес несколько небольших поправок, однако, когда я пытаюсь создать материализованное представление с помощью миграции, следующий запрос выдает ошибку:

Вот его запрос, который он написал в инструменте запросов на postgres, который работает как шарм:

SELECT v.voucher_id,v.quantity, COUNT(ov.voucher_id) AS "used", v.quantity - COUNT(ov.voucher_id) AS "remaining"
      FROM public.vouchers v
      LEFT OUTER JOIN public.order_vouchers ov ON (v.voucher_id = ov.voucher_id)
      GROUP BY v.voucher_id, v.quantity

И затем в моей миграции с использованием knex у меня есть:

CREATE MATERIALIZED VIEW mv_vouchers
    SELECT * FROM vouchers,
      SELECT v.voucher_id,v.quantity, COUNT(ov.voucher_id) AS "used", v.quantity - COUNT(ov.voucher_id) AS "left"
      FROM public.vouchers v
      LEFT OUTER JOIN public.order_vouchers ov ON (v.voucher_id = ov.voucher_id)
      GROUP BY v.voucher_id, v.quantity

Ошибка возникает непосредственно возле SELECT, я использую таблицы vouchers и order_id. Я новичок в этом, любая помощь приветствуется.

1
0
308
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть два пункта SELECT. Это то, что вы хотите?

CREATE MATERIALIZED VIEW mv_vouchers as
      SELECT v.voucher_id, v.quantity, COUNT(ov.voucher_id) AS "used", v.quantity - COUNT(ov.voucher_id) AS "left"
      FROM public.vouchers v LEFT OUTER JOIN
           public.order_vouchers ov
           ON v.voucher_id = ov.voucher_id
      GROUP BY v.voucher_id, v.quantity;

Ах, я размышлял, как миграция получит все данные таблицы vouchers без использования SELECT * FROM vouchers, я предположил, что инструмент запросов postgres имеет некоторую автоматическую область действия по всем данным таблицы, в то время как миграция не работает. Сейчас попробую.

JvB 31.10.2018 11:53

Другие вопросы по теме