Du skal tabelkvalificere t1.user_id at tvetydige. Plus andre justeringer:
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);
-
Hvis du trækker to datoer fra, får du heltal. Medvirken var overflødig.
-
Undlad at udelade
ASnøgleord for kolonnealiasser - mens det generelt er OK at udeladeASfor tabelaliasser. Manualen:Du kan udelade
AS, men kun hvis det ønskede outputnavn ikke matcher noget PostgreSQL-nøgleord (se appendiks C). For at beskytte mod mulige fremtidige tilføjelser af søgeord, anbefales det, at du altid enten skriverASeller dobbeltciter outputnavnet.) -
Sammenføjning af tabeller med en
USINGklausul beholder kun én forekomst af sammenføjningskolonnerne (user_idi dette tilfælde) i resultatsættet, og du behøver ikke at tabelkvalificere det længere.