我会故意问一个笼统的问题
我有 12 个代表不同对象类型的表。
从表 1 代表物理层到表 12 最高的逻辑层(如 OSI 模型)
在每个表上,您都有对象和与该对象相关的所有信息。另外一个代表上层链接的列让我们说“ usedBY ”(从一个表中,你没有一个列与下层的链接,换句话说,可以以一种方式从下到上检查链接)
但对我来说复杂的部分是将信息收集/链接在一起。
例如,从表 1 上层可以在表 2 上,在表 2 上,对象链接到表 1,可以直接链接到表 4 上的下一层,在表 4 上,到表 1 的对象链接可以是自己链接到表 6,从表 6 对象到表 12。对于另一个对象,路径可以是表 1 到表 12 直接
表 1 中的object1 usedBy表 2 上的 object3445(其中Table1.usedBy == Table2.id)
表 2中的 object3445 usedBy 表 4 上的object532、object432、object5215(其中Table2.usedBy == Table4.id)
表 4中的 object532 usedBy 表 6 上的 object9831(其中Table4.usedBy == Table6.id) 表 4中的 object432 usedBy表 7 上的对象 123(其中Table4.usedBy == Table7.id) 表 4中的 object5215 usedBy 表上的对象 321 8(其中Table4.usedBy == table8.id)
等等..等等..
也许有了这个例子会更清楚
我想创建,也许我们可以称之为......每个对象的链接表从table1到table12的完整路径。
我正在寻找完成这个目标的策略,我不习惯数据库查询。
更新 Impaler 要求提供图纸,希望有更好的解释 :)
如您所见,任何上层都可以使用每个名称
使用级联 LEFT JOINT 我可以从表 12 中找到表 12 中每个名称的前一层
但是在我被卡住之后
从表 12 想象:
使用 LEFT JOIN 我为 objectX 找到: NULL for TABLE11 NULL for TABLE10 ObjectY in TABLE9 NULL for [TABLE1-8]
在找到第一个匹配项后,我必须从 TABLE9 开始并在使用 ObjectY 的下层表中查找
等等等等……
我发现这张照片,在我看来,是路径可能性的好方法。
希望更清楚!
提前感谢您的想法探索!
PS:我不是英语所以请原谅我的大概英语!
此致