PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Arithmétique de la colonne de date dans la requête PostgreSQL

Vous auriez besoin de qualifier de table t1.user_id pour lever l'ambiguïté. Plus d'autres ajustements :

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);
  • La soustraction de deux dates donne un entier. Le casting était redondant.

  • N'omettez pas le AS mot-clé pour les alias de colonne - alors qu'il est généralement acceptable d'omettre AS pour les alias de table. Le manuel :

    Vous pouvez omettre AS , mais uniquement si le nom de sortie souhaité ne correspond à aucun mot-clé PostgreSQL (voir l'annexe C). Pour vous protéger contre d'éventuels futurs ajouts de mots-clés, il est recommandé de toujours écrire AS ou mettez le nom de la sortie entre guillemets.)

  • Joindre des tables avec un USING la clause n'en garde qu'une instance des colonnes jointes (user_id dans ce cas) dans le jeu de résultats et vous n'avez plus besoin de le qualifier de table.