t1.user_id
をテーブル修飾する必要があります 明確にする。プラスその他の調整:
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);
-
2つの日付を引くと、整数になります。キャストは冗長でした。
-
AS
を省略しないでください 列エイリアスのキーワード-通常はAS
を省略しても問題ありません。 テーブルエイリアスの場合。マニュアル:AS
は省略できます 、ただし、目的の出力名がPostgreSQLキーワードと一致しない場合のみ(付録Cを参照)。将来のキーワード追加の可能性から保護するために、常にAS
を記述することをお勧めします。 または、出力名を二重引用符で囲みます。) -
USING
を使用してテーブルを結合する 句は1つのみを保持します 結合列のインスタンス(user_id
この場合)結果セットで、テーブル修飾する必要はありません。