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
ASsłowo kluczowe dla aliasów kolumn — chociaż generalnie można pominąćASdla 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ćASlub dwukrotnie w cudzysłowie nazwę wyjścia). -
Łączenie tabel za pomocą
USINGklauzula zachowuje tylko jeden wystąpienie łączących się kolumn (user_idw tym przypadku) w zestawie wyników i nie trzeba go już kwalifikować do tabeli.