Как я могу использовать функцию now в запросе Redshift psql? - PullRequest
0 голосов
/ 16 января 2020

"Указанные таблицы или функции (по одному на каждое сообщение INFO) не поддерживаются в таблицах Redshift."

Я получил эту ошибку. Когда это происходит через PyCharm, я не получаю другую часть сообщения. Но когда я запустил его непосредственно в Терминале, перед ошибкой я получил сообщения о том, что «INFO: Функция» now () «не поддерживается».

Кажется, что я могу использовать "now ()", но только в запросе c. Если я включу таблицу базы данных в запрос, то это не сработает ???

Это работает:

    WITH cteDates AS (
         SELECT
            (now() - interval '7 days')::date as start_date,
            (now() - interval '1 day')::date as end_date
    ) select * from cteDates;

Но это не так:

     WITH cteDates AS (
        SELECT
            (now() - interval '7 days')::date as start_date,
            (now() - interval '1 day')::date as end_date
    ),

    cteMain AS (
            SELECT
                extract(dow from  el.created_on) as day_number,
                COUNT(*) as myCount
            FROM mySchema.myTable1 e
            JOIN mySchema.myTable2 el on e.id = el.e_id
            JOIN mySchema.myTable3 s on el.s_id = s.id
            WHERE e.a_id = 7
                  AND el.created_on::date >= (select d.start_date from cteDates as d)
                AND el.created_on::date <= (select d.end_date from cteDates as d)
           Group by day_number
               )
          Select * from cteMain;

Как заставить работать второй?

У меня есть иметь полностью статический запрос c. Я не могу использовать% s или использовать другие переменные.

1 Ответ

0 голосов
/ 16 января 2020

Теперь () устарела. Getdate () работает.

...