【发布时间】:2013-01-01 20:56:58
【问题描述】:
在 PostgreSQL 8.4 中,我想从 3 个带有 id 的表创建一个视图。所以我想在我看来有这个结构:
num serial,
name_dispatcher character varying(250)
the_geom geometry
我可以从表格中选择name_dispatcher 和the_geom:
CREATE VIEW lineView
AS SELECT 'name' AS name_dispatcher, the_geom
FROM line1
UNION
SELECT 'name' AS name_dispatcher, the_geom
FROM line2
UNION
SELECT 'name' AS name_dispatcher, the_geom
FROM line3
如何在视图中创建num列?
更新
我找到了解决办法:
ROW_NUMBER() OVER(ORDER BY lineView.voltage)
但我不知道如何在ALTER VIEW 中使用它。怎么放进去?
【问题讨论】:
-
旁注:请注意
UNION可能是一项昂贵的操作,因为它消除了重复。如果您知道最终结果中不会出现重复项,或者您可以接受存在的重复项,那么切换到UNION ALL可能会有所帮助。
标签: sql postgresql sql-view row-number