我有三个这样的数据表
简
---------------------------------------
id price type
---------------------------------------
1 10 a001
2 20 a002
3 30 a003
2月
---------------------------------------
id price type
---------------------------------------
1 20 a001
2 15 a002
3 18 a003
4 33 a004
三月
---------------------------------------
id price type
---------------------------------------
1 16 a001
2 40 a002
3 25 a004
4 51 a005
我需要把上面的三个数据连接起来,像这样插入我的新表
总和
-------------------------------------------------------------------------
id jan.price feb.price mar.price jan.type feb.type mar.type
-------------------------------------------------------------------------
1 10 20 16 a001 a001 a001
2 20 15 40 a002 a002 a002
3 30 18 a003 a003
4 33 25 a004 a004
5 51 a005
新表中的id是自动递增的,而不是上面三个。
请帮我查询mysql语法。
3条答案
按热度按时间fdx2calv1#
尝试使用以下查询(第一个变量错误)
sql小提琴-http://www.sqlfiddle.com/#!9/bd9d2a/1号
数据按类型排序的第二种变体(
id
是使用@id
变量)sql小提琴-http://www.sqlfiddle.com/#!9/bd9d2a/23号
如果您想将它放入一个带有autoincrement字段的新表中,您需要
这个案子
type1 and type2
试验数据结果表
查询
结果
sql小提琴-http://www.sqlfiddle.com/#!9/be68ed/5号
rm5edbpk2#
可以使用联接来执行此操作:
sql小提琴:http://sqlfiddle.com/#!9月8898b3日
gmxoilav3#
要得到上述结果,您必须修改第三个表(mar表),其中的id是错误的。
请参阅:sql fiddle-http://www.sqlfiddle.com/#!9/680ab2/2号