如何在MySQL查询里面使用除法结果?

时间:2015-04-16 13:12:20

标签: mysql

我关注数据库:

id  name prime product
1   x    2     2
2   z    3     6
3   y    17    102
4   d    5     30
5   a    7     210
6   b    11    330
7   c    13    390

Prime和产品用于确定祖先。现在我需要找到C的所有祖先,它们会像这样工作:

c.product / c.prime -> 390 / 13 = 30 --> ancestor D's product
d.product / d.prime -> 30 / 5 = 6 --> ancestor Z's product
z.product / z.prime -> 6 / 3 = 2 --> ancestor X's product
no more ancestors

现在我的问题是如何在一个简单的MySQL查询中获得C及其所有祖先的结果。这是所需的输出:

id  name prime product
1   x    2     2
2   z    3     6
4   d    5     30
7   c    13    390

任何人都可以给我一个提示吗?

我目前的尝试是:

SELECT *, (product DIV prime) AS ancestor FROM temp.test_tree WHERE product = ancestor;

但这显然不起作用。

1 个答案:

答案 0 :(得分:1)

SELECT * FROM test_tree WHERE product IN (SELECT (product DIV prime) FROM test_tree ));