1

我需要一些帮助!基本上我有一个系统,它有无限数量的类别,它的工作方式是通过唯一的 ID。所以基本上系统会根据其父 UID 找到根文件夹并匹配所有子文件夹。一个无限循环...

但是现在我想在一个 MySQL 语句中做相反的事情(如果可能的话)。

基本上我希望它这样做..(顺便说一下,这不是我的实际代码,这正是我希望它工作的方式)

SELECT UID FROM Table
WHERE UID = 'value'
--AND ALSO:
SELECT * FROM SameTable
WHERE UID = The Parent UID just fetched...

并一直这样做,直到 UID = 'Specified Value'。

我真的希望这是有道理的!

甚至可能吗?我可以在我知道的 PHP 循环中使用多个查询来做到这一点,但这感觉就像一个很长的路要走,而且是不好的做法。

4

1 回答 1

1

您所拥有的称为“分层数据”。你必须在谷歌上阅读它。简而言之,在二维表中表示它主要有三种方式:

  • 邻接列表(你有什么)。您几乎无法通过单个查询来完成
  • 物化路径(我最喜欢的)。自然易读。不过效率不高。
  • 嵌套集(最复杂)但最强大。

您可以选择任何您喜欢的系统,并坚持您当前的系统。单一查询不是不惜一切代价追求的圣杯。

于 2013-09-06T16:22:25.713 回答