我需要一些帮助,
我有一个包含以下数据的表树:
id | person | prime | product
----+--------+-------+---------
1 x 2 2
2 z 3 6
4 d 5 30
这是如何工作的
Prime和产品用于计算我家的父母子女关系。 Prime =下一个可用的素数 产品=(素数*父母的产品)。素数的每个乘积只能用这些素数除。
对于人d父母是z,因为5(d的素数)* 6(productof z)= 30(d的乘积)
使用相同的原则我必须编写一个单一的查询来将d的孩子(例如a,b,c)插入到表中。
如果有另一个表prime_numbers,其中列素数包含素数列表(2,3,5,7,11,13,17,....)
我曾咨询This。
但无法从中获得解决方案。
答案 0 :(得分:0)
我没有安装mySql所以我无法检查这个,但也许它可以是一个开始
您可以根据某些子查询的连接使用Insert-select
:
所以它可能看起来像:
SELECT prsns.idd, prsns.namee, t1.nxt, t1.product
FROM
(SELECT @rownum:=@rownum+1 'rn', p.nxt prime, p.nxt * tt.product product
(SELECT cur, max(nxt) as nxt
FROM
( select t.prime as cur, nxtt.prime as nxt
from prime_numbers t, prime_numbers nxtt
where t.prime > nxtt.prime )
GROUP BY cur
ORDER BY nxt) p, your_table tt, (SELECT @rownum:=0) r
WHERE tt.id = 4
AND p.nxt > tt.prime) t1,
(
SELECT @rownum:=@rownum+1 'rn', idd, namee
FROM (SELECT @rownum:=0) r, (
select 5 as idd, 'a' as namee union
select 6 , 'b' union
select 7 , 'c' union
)
) prsns
WHERE prsns.rn = t1.rn