Debería calificar en tabla t1.user_id
para desambiguar. Además de otros 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);
-
Restar dos fechas da como resultado un número entero. El reparto era redundante.
-
No omita el
AS
palabra clave para alias de columna, aunque generalmente está bien omitirAS
para alias de tabla. El manual:Puede omitir
AS
, pero solo si el nombre de salida deseado no coincide con ninguna palabra clave de PostgreSQL (consulte el Apéndice C). Para protegerse contra posibles futuras adiciones de palabras clave, se recomienda que siempre escribaAS
o comillas dobles el nombre de salida.) -
Unir tablas con
USING
cláusula solo mantiene uno instancia de la(s) columna(s) de unión (user_id
en este caso) en el conjunto de resultados y ya no tiene que calificarlo en la tabla.