作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我在 SQLite 中成功使用的查询。它创建属于“Pak”的所有链接的层次结构。
WITH LinkTree(link_id, link_pid, pak_id, link_name, depth)
AS
(
SELECT *, 0 AS depth FROM links
WHERE link_pid = 0
UNION ALL
SELECT l.*, lt.depth+1 AS depth FROM LinkTree lt
JOIN links l ON (lt.link_id = l.link_pid)
)
SELECT * FROM LinkTree WHERE pak_id = 1;
我正在尝试修改它以使其与 Postgres 一起使用,但我收到一条错误消息,指出“深度”不明确。
使用了两个简单的表:
Paks: pak_id, pak_name
Links: link_id, link_pid, link_name, pak_id
所有列都是整数,除了 *_name 是 varchars。
谁能帮帮我?
最佳答案
我认为你需要 RECURSIVE
关键字:
WITH RECURSIVE LinkTree(link_id, link_pid, pak_id, link_name, depth)
AS
(
SELECT *, 0 AS depth FROM links
WHERE link_pid = 0
UNION ALL
SELECT l.*, lt.depth+1 AS depth FROM LinkTree lt
JOIN links l ON (lt.link_id = l.link_pid)
)
SELECT * FROM LinkTree WHERE pak_id = 1;
编辑:
不要在选择中使用*
:
WITH LinkTree(link_id, link_pid, pak_id, link_name, depth)
AS
(
SELECT link_id, link_pid, pak_id, link_name, 0 AS depth
FROM links
WHERE link_pid = 0
UNION ALL
SELECT l.link_id, l.link_pid, l.pak_id, l.link_name, lt.depth+1 AS depth
FROM LinkTree lt
JOIN links l
ON lt.link_id = l.link_pid
)
SELECT *
FROM LinkTree
WHERE pak_id = 1;
关于SQLite 到 Postgres 层次结构查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33455801/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!