我有两张相关产品的表格。
product
---------------------------------------------
product_id | Name | creation_date
---------------------------------------------
1 A 2017-03-11 11:30:13
2 B 2017-03-12 12:30:12
3 C 2017-03-13 13:30:45
4 D 2017-03-14 14:30:45
5 E 2017-03-15 15:30:45
product_related
---------------------------------------------
related_id | product_id | related_product_id
---------------------------------------------
1 1 2
2 2 5
3 3 1
4 4 3
我需要间接或直接相互获取所有相关产品。
If @ProductID = 1, then I need Product ID's 2,3,4,5
If @ProductID = 2, then I need Product ID's 1,3,4,5
If @ProductID = 3, then I need Product ID's 1,2,4,5
If @ProductID = 4, then I need Product ID's 1,2,3,5
If @ProductID = 5, then I need Product ID's 1,2,3,4
如果需要更改product_related表设计以提高执行性能,我很好。
答案 0 :(得分:0)
您已将此标记为php,因此我怀疑您还有其他问题需要体验:)
您需要的是MySQL中的递归查询。我不是MySQL开发人员,但对于那些看到这篇文章并使用MS SQL的其他投注者来说,这非常简单。在MS SQL中,我们使用递归CTE(公用表表达式)来简化这种深度链接。