Musisz zakwalifikować tabelę t1.user_id
ujednoznacznić. Plus inne korekty:
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);
-
Odjęcie dwóch dat daje liczbę całkowitą. Przesyłanie było zbędne.
-
Nie pomijaj
AS
słowo kluczowe dla aliasów kolumn — chociaż generalnie można pominąćAS
dla aliasów tabel. Instrukcja:Możesz pominąć
AS
, ale tylko wtedy, gdy żądana nazwa wyjścia nie pasuje do żadnego słowa kluczowego PostgreSQL (patrz Dodatek C). Aby zabezpieczyć się przed ewentualnym dodawaniem słów kluczowych w przyszłości, zaleca się, aby zawsze pisaćAS
lub dwukrotnie w cudzysłowie nazwę wyjścia). -
Łączenie tabel za pomocą
USING
klauzula zachowuje tylko jeden wystąpienie łączących się kolumn (user_id
w tym przypadku) w zestawie wyników i nie trzeba go już kwalifikować do tabeli.