Postgres 中的 NOCYCLE

2024-03-17

我有一个 Oracle 查询NOCYCLE我必须将其翻译为 Postgres 的条款:

SELECT FG_ID,CONNECT_BY_ROOT FG_ID as Parent_ID  
FROM FG t
START WITH t.Parent_filter_group_id is null 
CONNECT BY NOCYCLE PRIOR t.FILTER_GROUP_ID = t.PARENT_FILTER_GROUP_ID 

我在问题和答案的帮助下转换了这个postgres 中的 connect_by_root 等效项 https://stackoverflow.com/questions/22296248/connect-by-root-equivalent-in-postgres

as

with recursive fg_tree as (
select FG_ID,
       FG_ID as fg
from  FG
where Parent_filter_group_id is null 

union all 
select c.FG_ID,
p.fg
from FG c join fg_tree p on p.FG_ID = PARENT_FILTER_GROUP_ID
)
select * from fg_tree
order by FG_ID

但其中没有条款NOCYCLE如果父级也是子级之一,则此查询将返回错误。


您可以收集每个级别的 ID,然后在“当前”id 不包含在路径中的条件下加入:

with recursive fg_tree as (
  select FG_ID,
         FG_ID as fg, 
         array[fg_id] as path
  from  FG
  where Parent_filter_group_id is null 

  union all 

  select c.FG_ID,
         p.fg, 
         p.fg||c.fg_id
  from FG c 
    join fg_tree p on p.FG_ID and c.fg_id <> ALL (p.path)
)
select fg_id, fg 
from fg_tree
order by filter_group_id
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Postgres 中的 NOCYCLE 的相关文章

随机推荐

  • 使用 pyinstaller 创建可执行文件时出现分段错误:11

    最近 我创建了一个简单的 python 应用程序 其 GUI 是通过PyQt5图书馆 我已经多次测试了应用程序本身 一切正常 但是 在我尝试使用以下命令将其打包为可执行文件之后pyinstaller 运行生成的可执行文件不会创建 GUI 而
  • 有没有办法获取jQuery ajax上传进度?

    ajax xhr function var xhr new window XMLHttpRequest Upload progress xhr upload addEventListener progress function evt if
  • 如何向此自定义的facet_wrap 添加geom_quantile 图例?

    我最近得到了很大的帮助 https stackoverflow com questions 60655019 why does strip text color from facet wrap not correspond to eleme
  • Mono TLS1.2 问题 - btls-cert-sync“找不到命令”

    Summary 我的公司使用 TargetProcess TP 来跟踪开放项目的进度 并且我们创建了相对较小的代码来将更新导入到 TargetProcess 目前 在提交构建后 我们启动了一个预装了 Mono 的 debian docker
  • 找不到 gradle 3.0.0-alpha4

    几天前 我安装了 android studio 3 0 预览版 之后在稳定版本 studio 2 3 3 中 当我尝试导入项目时 它给了我一个错误 在预览中一切正常 这是一个错误 Error Could not find com andro
  • 访问 CriteriaBuilder 中的 REGEXP_LIKE 函数

    我有一个多标准表单 并使用 CriteriaBuilder 来构建 sql 对于本地联系人条件 我需要使用 regexp like 函数来搜索逗号分隔数字字符串中的数字字符串 即在字符串中搜索 234 例如 1234 2345 6789 2
  • 如何使用 ggplot2 设置图例 alpha

    我有一张风速与方向的图表 其中有大量的点 因此除了 color month 之外 我还使用 alpha I 1 20 这是代码示例 library RMySQL library ggplot2 con lt dbConnect wind l
  • Jersey,如何 POST JSON 对象列表?

    我正在使用 Jersey 1 11 在 Java 中构建 RESTful Web 服务 并且在实现使用 JSON 化实体列表的方法时遇到问题 单实例方法工作正常 我得到的错误是 Status 400 Bad Request The requ
  • Android 中的 PEM 到 PublicKey

    我见过很多类似的问题 但没有一个对我有用 我只是想将从服务器检索到的 PEM 格式的 RSA 公钥转换为PublicKey在安卓中 有人能指出我正确的方向吗 编辑 我已成功使用以下代码将 PEM 转换为 PublicKey 但在对消息进行编
  • .csproj 的平台特定 ItemGroup 适用于程序集引用,但不适用于内容包含?

    由于我们有三个显式 x86 和 x64 版本的程序集 因此我编辑了相应的 csproj 文件以使用 例如 如下所示的块
  • 在 OpenGL-ES 2.0 中渲染多个 2D 图像

    我是 OpenGL 新手 正在尝试学习 ES 2 0 首先 我正在开发一款纸牌游戏 需要渲染多个纸牌图像 我跟着这个http www learnopengles com android lesson four introducing bas
  • Redux 框架在插件中使用时不工作

    我将使用 redux 框架作为我的插件选项 它显示在管理面板中 我可以保存设置 我使用了选项面板的示例配置文件 所以问题是我没有通过打印全局来获取选项值opt name多变的 如果我将 redux 框架配置文件添加到主题functions
  • CSS/HTML:在输入字段周围创建发光边框

    我想为我的表单创建一些像样的输入 并且我真的很想知道 TWITTER 如何在输入周围制作发光边框 Twitter 边框示例 图片 我也不太知道如何创建圆角 干得好 glowing border border 2px solid dadada
  • Eclipse:如何有选择地禁用某些注释中的拼写检查

    我使用的是 Eclipse Kepler 版本 如何禁用评论内的拼写检查 我确实看到 窗口 首选项 常规 编辑器 文本编辑器 拼写 但此表没有关于禁用注释内拼写检查的选项 理想情况下 我想禁用特定评论的拼写检查 在其他地方 拼写检查注释可能
  • 如何在 pygame 中进行二段跳?

    有人可以帮我调试我的代码吗 因为我不明白为什么我不能让我的角色用多个空格键进行双跳 当我运行脚本时 我可以向上 向下 向左 向右移动 但是一旦我按一次空格键 对象就会飞出窗口 问题出在这个 if 语句上 所以我猜测这个 if 语句会继续运行
  • 绑定 UserControl 依赖属性和 MVVM

    我有一个包含 UserControl 的 MainWindow 两者都以 MVVM 模式实现 MainWindowVM 具有我想要绑定到 UserControl1VM 中的属性的属性 但这行不通 这是一些代码 视图模型使用某种 mvvm 框
  • 将异步获取的数据传递给子 props

    我正在制作一个应用程序 它从远程源获取一系列新闻项目并将其显示在页面上 我有端点 并且可以使用控制台日志证明可以进行成功的调用 getJSON 我将此调用放入父组件中 因为子组件需要使用数据 但是 当我将此数据传递给子组件时 会出现控制台错
  • DataStorage 和查询未实现将 indexed=False 更改为 True

    在我的模型中 我有一个属性设置为indexed False 要在投影中使用它 我必须将其更改为indexed True 但令人惊讶的是 现在执行查询不会给出任何结果 始终为空 任何重新索引表的提示或为什么结果集为空 https develo
  • 如何正确配置QDockWidget使其显示/隐藏?

    我是 Qt GUI 的新手 最初想配置一个 Qt Dock 小部件 该小部件在按下某个键 假设为 A 时显示 并在按下另一个键 假设为 B 时隐藏 但经过一番研究 我没有找到任何相关的解决方案 我尝试创建一个切换按钮 第一次按下时将显示停靠
  • Postgres 中的 NOCYCLE

    我有一个 Oracle 查询NOCYCLE我必须将其翻译为 Postgres 的条款 SELECT FG ID CONNECT BY ROOT FG ID as Parent ID FROM FG t START WITH t Parent