gpt4 book ai didi

mysql - Sql 查询查找所选文件的祖先

转载 作者:行者123 更新时间:2023-11-29 06:45:08 25 4
gpt4 key购买 nike

我有一个包含 3 个字段的表,即 id、filename 和 prev_id,用于存储上传的文件

Id |  filename | prev_id
---------------------------
1 | file1 | NULL
2 | file2 | 1
3 | file3 | 2
4 | file4 | NULL
5 | file5 | 4
6 | file6 | 5

file3 是最新上传的文件,而其他文件是用 prev_id 标记的前一个文件。我想要一个查询来列出 file3 的先前文件。同样,另一个新上传的文件是 file6 。所以当

http://www.sqlfiddle.com/#!9/0e88c0/1

预期输出


file3以前的文件列表

Id |  filename 
------------
1 | file1
2 | file2

文件6以前的文件列表

Id |  filename 
------------
4 | file4
5 | file5

最佳答案

基于您提供的(原始)样本

id  fname   prev_id
1 file1 (null)
2 file2 1
3 file3 2
4 file4 (null)

您可以使用自连接,例如:

select a.* 
from test_table a
inner join test_table b on b.fname ='file3'
and a.prev_id <= b.prev_id

http://www.sqlfiddle.com/#!9/9ec606/21

a表返回file3的prev_id,b表返回满足查询条件的值

关于mysql - Sql 查询查找所选文件的祖先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49854270/

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