我有一个具有以下结构的菜单系统表和一些数据。
ID、文本、ParentID、DestinationID 1、应用程序,(空),(空) 2、游戏,(空),(空) 3,办公室,1,(空) 4、文本编辑、1、(空) 5,媒体,(空),(空) 6、字、3、1 7、Excel、3、2 8、孤岛危机、2、3
我需要的是一个查询,我可以将菜单 ID 传递给该查询,它将返回具有该 ID 作为子项的项目列表。但是,我需要它只返回具有到达目的地的有效路径的孩子。所以在上面的例子中,用户最初会看到(应用程序,游戏),当他选择应用程序时,他会看到(办公室)。文本编辑和媒体应该被省略,因为它们下面没有有效的目的地。
最棘手的是,任何给定菜单都没有预先确定的深度。
编辑:
今天,MS SQL 2008 出现了问题,但在过去的两周里,我需要 SQLite 和 SQL CE 的类似解决方案。理想的解决方案不应与任何特定的 SQL 引擎绑定。