我现在花了将近一天的时间,似乎我做错了什么。好的,这是关系: document_urls( doc_id , url_id)
我想要做的是构建一个图表,它将显示通过他的 url 从文档生成的所有孩子。示例 select * from document_urls where doc_id=1
doc_id url_id
1 2
1 3
如果我选择所有带有 url_id=3 或 2 的文档,我会找到 select * from document_urls where url_id=2 or url_id=3
doc_id url_id
1 2
1 3
2 3
现在我对文档 2 做同样的练习,因为我们涵盖了文档 1 的所有链接等等。
这是我现在的递归查询
WITH RECURSIVE generate_links(document_id,url_id) as(
select document_id,url_id from document_urls where document_id=1
UNION ALL
select du.document_id,du.url_id from generate_links gl,document_urls du
where gl.url_id=du.url_id
)
SELECT * FROM generate_links GROUP BY url_id,document_id limit 10;