PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Anzeigefehler in PostgreSQL

Das passiert, weil eine Ansicht wegen des select *.

zwei id-benannte Spalten haben würde, eine von Tabelle1 und eine von Tabelle2

Sie müssen angeben, welche ID Sie in der Ansicht haben möchten.

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

Die Abfrage funktioniert, weil sie gleichnamige Spalten haben kann...

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