PostgreSQL视图错误
我在psql和Centos中创建视图时遇到问题 我有一个包含查询的文件。看起来像这样 当我这样做的时候PostgreSQL视图错误,postgresql,Postgresql,我在psql和Centos中创建视图时遇到问题 我有一个包含查询的文件。看起来像这样 当我这样做的时候 psql -d cjones< order_tester.sql psql-d cjones
psql -d cjones< order_tester.sql
psql-d cjones
它运行正常
然后我尝试创建一个视图,这就是我遇到的问题
除非我遗漏了一些相同的文本,但这表明gme中存在列id问题。有什么想法吗?JayC和JNevill在评论中给了你答案。创建视图时,不能有两个名称相同的列 他们说你不能做
选择*
,而是必须做类似的事情
SELECT con.id AS contact_id, cust.id AS customer_id, etc.
我想补充的是,如果您希望能够使用
SELECT*
创建视图,然后,当您创建表格时,您可以避免使用诸如id
之类的通用术语,相反,您的contacts
表格可以有一个contact\u id
列,而您的customers
表格可以有一个customer\u id
列。这样就不会遇到问题。视图的列名必须具有唯一标识符。但是,当您只是运行一个查询时,并没有这样的问题,输出只是方便地标记(这些标签不一定是正确的列名,IIRC)。。。那么,如果需要两个id字段,如何解决这一问题呢..不必选择*,而是引用每一列,并为第二列和第三列提供唯一的别名,但显然我还没有足够的声誉点来做这件事:P所以为了添加我的评论,除了添加我的评论之外,我总结了他们所说的话,这样就不会断章取义了。