PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Aritmética da coluna de data na consulta do PostgreSQL


Você precisaria qualificar a tabela t1.user_id para desambiguar. Além de outros ajustes:
CREATE TABLE foo AS 
SELECT user_id, (t1.the_date - (t2.the_date - t1.the_date)) AS start_date
FROM   table1 t1
JOIN   table2 t2 USING (user_id);

  • A subtração de duas datas resulta em inteiro. O elenco era redundante.

  • Não omita o AS palavra-chave para aliases de coluna - embora geralmente não haja problema em omitir AS para aliases de tabela. O manual:

    Você pode omitir AS , mas somente se o nome de saída desejado não corresponder a nenhuma palavra-chave do PostgreSQL (consulte o Apêndice C). Para proteção contra possíveis futuras adições de palavras-chave, é recomendado que você sempre escreva AS ou aspas duplas no nome da saída.)

  • Unindo tabelas com um USING cláusula mantém apenas um instância das colunas de junção (user_id neste caso) no conjunto de resultados e você não precisa mais qualificá-lo em tabela.