当前位置: 首页 > 面试题库 >

如何在视图中添加ROW_NUMBER()?

东门新立
2023-03-14
问题内容

在PostgreSQL 8.4中,我想从3个ID为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。我怎么把它放在那里?


问题答案:

您不能使用ALTER VIEW删除或添加列。我引用ALTER
VIEW上的手册

ALTER VIEW更改视图的各种辅助属性。(如果要修改视图的定义查询,请使用CREATE OR REPLACE VIEW。)

但是一个简单的方法CREATE OR REPLACE VIEW并不能解决问题。手册中的另一句话:

新查询必须生成与现有视图查询生成的列相同的列

因此DROPCREATE视图:

DROP VIEW lineview;

CREATE VIEW lineview AS
SELECT *, row_number() OVER(ORDER BY ???) AS num
FROM (
   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
   ) x

我使用子查询,因为我假设您要添加row_number()到所有行。在这方面,您的问题含糊不清。
如果您只想按无特定顺序的唯一ID,请使用row_number() OVER()



 类似资料:
  • 我在Google和Stackoverflow上搜索过这个,但我只是没有得到给定的示例。有人能给我解释一下吗? 我想在表视图的最后一列添加一个按钮,当它被单击时,它应该触发一个侦听器并传递buttons行的对象。我只是没有从gist中得到下面的例子。github。通用域名格式: 这是我的完整当前代码: 现在,我必须创建一个的部分是可以理解的。但是如何将其分配给列呢? 我明白这一点: 但不是这个:

  • 我不知道这是否是搜索“在子视图中添加UIViewController”的正确键。正如您在我的图像中看到的,有两个ViewController,主控制器和第二个控制器。主控制器内部有一个UIView(蓝色背景色)。在UIView中,我想在UIView中添加第二个ViewController。我有这个代码,但不起作用。 这是我的密码 我想知道这是否可行?我知道在xib文件中工作,我不知道在google

  • 问题内容: 我已经在Google和Stackoverflow上进行了搜索,但没有得到给出的示例。有人可以向我解释一下。 我想在表视图的最后一列中添加一个按钮,当单击它时,它应该触发一个侦听器并传递按钮行的对象。我只是没有从 gist.github.com 得到以下示例: 这是我目前的完整代码: 现在我必须创建的部分是可以理解的。但是如何将其分配给列? 我了解这一点: 但这不是: 问题答案: 为了能

  • 我正在Springboot应用程序中的Mongo Db中创建一个视图。下面是相同的代码 我想添加allowDiskUse:true条件,因为我得到以下错误 堆栈跟踪:|/java.lang.Exception:[profile_event_view@stage[副本集:]]数据库错误!|___/Mongo服务器错误(MongoQueryException):查询失败,错误代码为292,错误消息为“

  • 好吧,我有gridview,它从服务器中提取图像

  • 若要添加一个新的视图,点击工具栏的 按钮,并点击画布的任意位置。你可以从浏览器的模型选项卡添加一个现有的视图,简单地从模型选项卡拖放视图到画布。 【注意】如果你右击视图连接器,你可以选择添加或删除顶点,以及更改它的颜色,或者前往源视图和目标表。 在画布中视图对象的弹出式菜单选项包括: 选项 描述 设计视图 在视图设计器中编辑视图结构。设计器内的选项卡和选项是根据你所选择的图表数据库类型而有所不同。