gpt4 book ai didi

PostgreSQL 层次关系函数

转载 作者:行者123 更新时间:2023-11-29 12:34:16 25 4
gpt4 key购买 nike

CREATE TABLE sectors
(
sector_id integer PRIMARY KEY,
sector_name varchar(100) NOT NULL,
parent_sector_id integer REFERENCES sectors(sector_id)
);

INSERT INTO sectors(sector_id, sector_name, parent_sector_id)
SELECT 1, 'All sectors', NULL UNION ALL
SELECT 2, 'Business', 1 UNION ALL
SELECT 3, 'Manufacturing', 2 UNION ALL
SELECT 4, 'Retail', 2 UNION ALL
SELECT 5, 'Trading', 1 UNION ALL
SELECT 6, 'Nonprofit', 1 UNION ALL
SELECT 7, 'Agriculture', 1;

问题一:通过函数查找父关系

SELECT is_parent(1/*All sectors*/, 4/*Retail*/) should be true
SELECT is_parent(2/*Business*/, 4/*Retail*/) should be true

问题二:通过函数查找子关系

SELECT is_child(4/*Retail*/, 1/*All sectors*/) should be true
SELECT is_child(4/*Retail*/, 2/*Business*/) should be true

如有任何帮助,我们将不胜感激。

最佳答案

如果你真的需要回答这类问题,我建议你看看PostgreSQL's recursive queries .如果您需要实际编写这些函数(is_parentis_child),我还建议您使用递归查询来实现它们。

关于PostgreSQL 层次关系函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6484767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com