Du skulle behöva tabellkvalificera t1.user_id
att disambiguera. Plus andra justeringar:
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);
-
Att subtrahera två datum ger heltal. Medverkande var överflödiga.
-
Uteslut inte
AS
nyckelord för kolumnalias - medan det i allmänhet är OK att utelämnaAS
för tabellalias. Manualen:Du kan utelämna
AS
, men bara om det önskade utdatanamnet inte matchar något PostgreSQL-nyckelord (se bilaga C). För att skydda dig mot eventuella framtida tillägg av sökord rekommenderar vi att du alltid antingen skriverAS
eller dubbelcitera utdatanamnet.) -
Sammanfoga tabeller med en
USING
klausul behåller bara en instans av de sammanfogade kolumnerna (user_id
i det här fallet) i resultatuppsättningen och du behöver inte tabellkvalificera den längre.