循环程序mysql以生成一对行
我这里有一些mysql问题 我需要用源表中的成对行创建新表循环程序mysql以生成一对行,mysql,sql,loops,Mysql,Sql,Loops,我这里有一些mysql问题 我需要用源表中的成对行创建新表 源表: 无名称值 ----------------------- 1 A1 20 2 A2 10 3 A3 40 创建新表: 无名称对值 ---------------------------- 1 A1(20,20) 2 A1 A2(20,10) 3 A1 A3(20,40) 4 A2 A1(10,20) 5 A2 A2(10,10) 6 A2 A3(10,40) 7 A3 A1(40,10) 8 A3 A2(40,20) 9 A3
源表:
无名称值
-----------------------
1 A1 20
2 A2 10
3 A3 40
创建新表:
无名称对值
----------------------------
1 A1(20,20)
2 A1 A2(20,10)
3 A1 A3(20,40)
4 A2 A1(10,20)
5 A2 A2(10,10)
6 A2 A3(10,40)
7 A3 A1(40,10)
8 A3 A2(40,20)
9 A3 A3(40,40)
感谢您的帮助您可以将表本身交叉连接起来,创建一个笛卡尔乘积,其中每一行都与另一行相匹配:
SELECT a.itme AS item,
b.item AS pair,
CONCAT('(', a.value, ',', b.value, ')') AS value
FROM mytable a
CROSS JOIN mytable b
它的作品感谢Mureinik,Caputo