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

Afficher l'erreur dans PostgreSQL

Cela se produit car une vue aurait deux colonnes nommées id, une de table1 et une de table2, à cause de la sélection *.

Vous devez spécifier quel identifiant vous voulez dans la vue.

SELECT table1.id, column2, column3, ... FROM table1, table2 
WHERE table1.id = table2.id

La requête fonctionne car elle peut avoir des colonnes portant le même nom...

postgres=# select 1 as a, 2 as a;
 a | a
---+---
 1 | 2
(1 row)

postgres=# create view foobar as select 1 as a, 2 as a;
ERROR:  column "a" duplicated
postgres=# create view foobar as select 1 as a, 2 as b;
CREATE VIEW