表的数据如下
id name age year money
1 a 10 2012 1000
2 a 10 2013 500
3 b 15 2012 2000
4 b 15 2013 700
怎么写sql 可以查出来的数据是下面这样的
name age year1 money1 year2 money2
a 10 2012 1000 2013 500
b 15 2012 2000 2013 700
...全文
1338打赏收藏
怎么让两条数据合并成一条
表的数据如下 id name age year money 1 a 10 2012 1000 2 a 10 2013 500 3 b 15 2012 2000 4 b 15 2013 700 怎么写sql 可以查出来的数据是下面这样的 name age year1 money1 year2 money2 a 10 2012 1000 2013 500 b 15 2012 2000 2013 700
表的结构
id name number year money
1 a 0001 2012 1000
2 a 0001 2013 500
3 b 0002 2012 2000
4 b 0002 2013 700
5 c 0003 2012 100
6 a 0001 2014 3000
7 b 0002 2014 4000
我现在想要把 year=2012和year=2013 的结果合并成一行
name number year1 money1 year2 money2
a 0001 2012 1000 2013 500
b 0002 2012 2000 2013 700
c 0003 2012 100 null 0
select name,age,
sum(if(year=2012,year,0)),
sum(if(year=2012,money,0)),
sum(if(year=2012,year,0)),
sum(if(year=2013,money,0))
from tt group by name,age
结果是什么,你的代码是什么
如果多一条记录,要得到下面的结果就不行啊。。。。。。要得到下面那个结果的要怎么弄啊
id name age year money
1 a 10 2012 1000
2 a 10 2013 500
3 b 15 2012 2000
4 b 15 2013 700
5 c 16 2012 100
name age year1 money1 year2 money2
a 10 2012 1000 2013 500
b 15 2012 2000 2013 700
c 16 2012 100 null 0
select name,age,
sum(if(year=2012,year,0)),
sum(if(year=2012,money,0)),
sum(if(year=2012,year,0)),
sum(if(year=2013,money,0))
from tt group by name,age