首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL循环遍历查询/深入挖掘

MySQL循环遍历查询/深入挖掘
EN

Stack Overflow用户
提问于 2011-10-06 23:31:03
回答 1查看 90关注 0票数 0

我有一个相当复杂的数据库问题要问,所以我将尽可能详细地解释。

我有一个名为TypeAttributes的表。

typeID、attributeID、valueINT

我希望从这个表中提取一个具有6个属性ID的特定类型。

因此,我希望在下面的示例typeID = 11446中搜索typeID的查询得到类似下面这样的结果

代码语言:javascript
复制
typeID, attributeID, valueINT
11446   182          3000      
11446   183          3001      
11446   184          3002      
11446   277          5         
11446   278          2         
11446   279          2         

根据这些信息,我希望再次运行上面的查询,但是使用attributeID的182、183和184的valueINT作为要查询的typeID。所以,我应该会得到一个像这样的表格:

代码语言:javascript
复制
typeID, attributeID, valueINT
11446   182          3000     
11446   183          3001      
11446   184          3002      
11446   277          5         
11446   278          2         
11446   279          2         
3000    182          1000      
3000    183          1001
3000    277          5
3000    278          5
3001    182          51951
3001    277          3
3002    182          1000
3002    277          2

最后,我希望拥有所有必备的typeID,182个属性值(实际上是我感兴趣的一种属性),以及它的次要属性(277)。

根据这些数据,我应该能够简单地从一种项目类型构建信息的层次结构。即。我选择item type 11446,它会一直遍历整个树,直到没有必需品为止。

可以完全用SQL来输出这样的表吗?

我希望这对某些人来说是有意义的。

亲切的问候

PS。

作为附注,属性ID绑定到另一个表,该表告诉我我正在查看哪种属性,值是该属性的值,在本例中,valueINT实际上是我希望通过完全相同的过程查找的另一个typeID。

182、183和184是某些类型,277、278和279是这些类型的乘法器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-06 23:35:43

您可以考虑使用一种名为modified preorder traversal的方法来存储树形结构数据-该方法使您可以轻松地在单个查询中找到给定节点的任何深度的子节点所在的所有节点。

似乎你有几棵树,每棵树都由一个特定的属性定义。这些属性中的每一个都将被一对值替换,以存储左和右节点标识符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7676685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档