表的数据如下
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

解决方案 »

  1.   

    select A.name,A.age,A.year,A.money,B.year,B.money
    from tb1 A,tb1 B
    where A.id<B.id and A.name=B.name
      

  2.   

    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
      

  3.   

    如果多一条记录,要得到下面的结果就不行啊要得到下面那个结果的要怎么弄啊
    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    100name     age     year1   money1     year2     money2 
      a       10       2012    1000      2013      500    
      b       15       2012    2000      2013      700 
      c       16       2012    100       null       0
      

  4.   

    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结果是什么,你的代码是什么
      

  5.   

    表的结构
    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