我精通mysql中的连接表,但是在连接来自同一个表的结果时遇到了问题。我正在用php创建一个文件夹结构,其中一个文件夹有一个id、一个父id、一个随机字符串id和一个标签。
我的数据库看起来像:
| id | parent_id | uniq | label
---------------------------------
| 1 | 0 | w2d4f6 | dir 1
| 2 | 1 | h9k3h7 | dir 2
前端使用 uniq
var来标识文件夹。所以在数据库中你可以看到,如果我打开文件夹 dir 1
,文件夹 dir 2
会在里面,因为 dir 2
有 dir 1
的id作为其父项。
还跟我在一起吗?
|- dir 1
| + dir 2
文件夹 dir 1
由其uniq字符串标识,所以 w2d4f6
. 所以我想做的是:
获取已删除的记录的父id uniq='w2d4f6'
父id为 1
查找记录在哪里 parent_id=1
我知道这是完全错误的,我想我应该使用 JOIN
但我尝试了以下方法却没有成功。 SELECT folders.label,folders.parent_id FROM folders WHERE folders.uniq='w2d4f6' AND folders.id=folders.parent_id
2条答案
按热度按时间1l5u6lss1#
要获取文件夹的子级,请执行以下操作:
rjzwgtxy2#
如果您已经有父数据,并且只想通过父数据的uniq值请求子数据,则应该可以这样做: