表结构:
序号     显示值     实际值    参数
xuhao     xianshi   shiji     canshu 
  1         123      1000      参数1
  2         234      2000      参数1 
  1         312      3000      参数2
  2         424      4000      参数2 
我想得到这样的查询结果:canshu  xuhao   xianshi    shiji    xuhao       xianshi         shiji
参数1    1       123       1000       2          234         2000
参数2    1       312       3000       2          424         4000 
有办法写sql吗?希望大侠帮帮忙

解决方案 »

  1.   

    ...只是一个行转列嘛
    select canshu,1 xuhao,
      max(decode(xuhao,1,xianshi))xianshi,
      max(decode(xuhao,1,shiji))shiji,
      2 xuhao,
      max(decode(xuhao,2,xianshi))xianshi,
      max(decode(xuhao,2,shiji))shiji
    from table1
    group by canshu
      

  2.   

    狂浪看来sql开发做的真不错。
      

  3.   

    我想跳槽干oracle开发
    希望面试官也这么认为,嘿嘿
      

  4.   

    高手狂狼。能给我解释下
    max(decode(xuhao,1,xianshi))xianshi
    的含义吗?
    xianshi列的输出结果怎么是空啊?
      

  5.   

    decode,就是当前记录xuhao为1的输出xiaoshi字段的值,否则为空
    max是相对group by进行的聚合
    你将max都去掉,然后注释掉group by 看看就知道了
    xianshi列的输出结果怎么是空啊?--应该不会吧,你看下代码和运行结果,最好是自己能够理解代码的意思,根据需要进行修改