比如一个表单A  列名  ID X1 X2 X3.....X12
               数据  01 10 20 30 ....120
对另外一个表单B 进行数据插入 插入的结构是: 列名 ID DATE1 DATE2 XN
                                                01 date1 date2 10
                                                01 date3 date4 20
                                                01 date8 date9 30
                                                .................
                                                01 date5 date6 120插入时不用考虑主键,日期之类的问题 
就是想在查询A表的时候 检索结果可以像B表结构一样
即A表B表数据对应关系为1:12
select 文怎么写?
谢谢 麻烦详细一点

解决方案 »

  1.   

    请参考http://topic.csdn.net/u/20100109/13/6a10c168-f190-4766-b838-adbf03c4ac7b.html
      

  2.   


    恩 是的 不知道怎么转 不用union 也别用数据库全表检索那种
      

  3.   

    楼主具体想要的结果是什么样啊?
    B表的结构有date这些,你查询A表需要显示这些吗?如果需要,直接查询B表那不就得了,如果不需要,你把你最后想要的查询结果数据给出来!
      

  4.   

    我根据楼主的想法写出来的,仅供楼主参考:
    select id,'' date1,'' date2,xn from (
    (select ID as id,X1 as XN from 表单A
    union
    select ID as id,X2 as XN from 表单A
    union
    select ID as id,X3 as XN from 表单A
    union
    select ID as id,X4 as XN from 表单A
    union
    select ID as id,X5 as XN from 表单A
    union
    select ID as id,X6 as XN from 表单A
    union
    select ID as id,X7 as XN from 表单A
    union
    select ID as id,X8 as XN from 表单A
    union
    select ID as id,X9 as XN from 表单A
    union
    select ID as id,X10 as XN from 表单A
    union
    select ID as id,X11 as XN from 表单A
    union
    select ID as id,X12 as XN from 表单A)
      

  5.   

    select 
        ID,
        decode(b.rn,1,X1,2,X2,3,X3,4,X4,5,X5,6,X6,
                    7,X7,8,X8,9,X9,10,X10,11,X11,12,X12,0)
      from 表单A a,
           (select rownum rn from dual connect by rownum <= 3) b
      

  6.   

    --oracle写法
    select name,sum(decode(subject,'语文',score,0)) as 语文,
                sum(decode(subject,'数学',score,0)) as 数学,
                sum(decode(subject,'英语',score,0)) as 英语                             
            from s_result group by name;
            
    --标准SQL写法
    select name,
    sum(case when subject='语文' then score else 0 end) as 语文,
    sum(case when subject='数学' then score else 0 end) as 数学,
    sum(case when subject='英语' then score else 0 end) as 英语
             from s_result group by name;
      

  7.   


    一个表单A 列名  ID X1 X2 X3.....X12
             数据  01 a1 a2 a3 ....a12
                   02 b1 b2 b3 ....b12我想对表单A写一个select文,就是想在查询A表的时候 检索结果可以像下面的结构列名 ID XN
    数据 01 a1
       01 a2
       01 a3
       .....
       01 a12
       02 b1
       02 b2
       02 b3
       .....
       02 b12不用union 也别用数据库全表检索那种谢谢 麻烦个为了
      

  8.   

    select  
      ID,
      decode(b.rn,1,X1,2,X2,3,X3,4,X4,5,X5,6,X6,
      7,X7,8,X8,9,X9,10,X10,11,X11,12,X12,0)
      from 表单A a,
      (select rownum rn from dual connect by rownum <= 12) b上面写错了 应该是rownum <= 12 而不是 rownum <= 3