gpt4 book ai didi

MySQL自引用表,在一行中显示层次结构与组合字段

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

我有以下自引用表。注意:此表针对本题进行了大幅简化,此表有数千行。

TABLE_A
--------------------------------
ID TABLE_A_ID TITLE
--------------------------------
1 null base_1
2 1 title_2
3 2 title_3
4 null base_4
5 4 title_5
6 5 title_6
7 6 title_7
8 null base_8
9 8 title_9

我遇到的情况是我需要检索一行,但标题必须包含所有父行的详细信息,所以如果我试图返回 ID 为 3、7 和 9 的行,我需要以下内容

-----------------------------------
ID TITLE
-----------------------------------
3 base_1, title_2, title_3
7 base_4, title_5, title_6, title_7
9 base_8, title_9

我研究过使用 GROUP_CONCAT,但这似乎不是正确的方法。有什么想法吗?

最佳答案

这可以通过编写一个自定义函数来完成,该函数检索/循环提供的 ID,直到它到达基数并返回连接的字符串。

Name:    GetAllTitles
Input: InputID

Steps: `While ID <> null
{
select TABLE_A_ID,title from table where ID='InputID';
If TABLE_A_ID is not null then,
{
// Save title to temp
// Save TABLE_A_ID to InputID
return CONCAT(temp,GetAllTitles(InputID));
}
else { return emptystring;
}
}`

最终的 SQL 查询将是:从表 A 中选择 ID,GetAllTitles(ID)

关于MySQL自引用表,在一行中显示层次结构与组合字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21732397/

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