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 oAS
palavra-chave para aliases de coluna - embora geralmente não haja problema em omitirAS
para aliases de tabela. O manual:
Você pode omitirAS
, 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 escrevaAS
ou aspas duplas no nome da saída.)
-
Unindo tabelas com umUSING
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.