Budete muset kvalifikovat tabulku t1.user_id
vyjasnit. Plus další úpravy:
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);
-
Odečtením dvou dat získáte celé číslo. Obsazení bylo nadbytečné.
-
Nevynechejte
AS
klíčové slovo pro aliasy sloupců – i když je obecně v pořádku vynechatAS
pro aliasy tabulek. Manuál:AS
můžete vynechat , ale pouze v případě, že požadovaný název výstupu neodpovídá žádnému klíčovému slovu PostgreSQL (viz Příloha C). Pro ochranu před možným budoucím přidáním klíčových slov se doporučuje, abyste vždy buď napsaliAS
nebo uveďte název výstupu do dvojitých uvozovek.) -
Spojení tabulek pomocí
USING
klauzule ponechává pouze jednu instance spojovacích sloupců (user_id
v tomto případě) ve výsledkové sadě a již ji nemusíte kvalifikovat do tabulky.