就是用:
select * from (select 语句)
可能有语法错误

解决方案 »

  1.   

    这语法是可以的。你第一个sql就不要写 order by 语句了。(我没用过中文字段)
    还有,有sum函数,你语句后面还要有
    group by 子句(sum函数用到的字段外的所有字段都要写进来)。
      

  2.   

    xmwgp(xmwgp)  你好:
    select 日期, sum(数量1),sum(数量2),sum(数量3) from [第一个查询结果的SQL语句] group by 日期,order by 日期
    按照你的意见,我想我的这个语句是成立的巴
    在mssql中我做了一个类似的测试,发现在第一个SQL中好像不管有没有ORDER BY 都不可以,:(
    郁闷,
      

  3.   

    SELECT 日期,SUM(数量1) 数量1,SUM(数量2) 数量2,
           SUM(数量3) 数量3,生产编号
      FROM (select NVL(日期,'00000000') 日期,数量1,null 数量2,
                   null 数量3,生产编号
              from A
             where 生产编号='AAAA'
            union ALL -- 改成UNION ALL,否则会过滤掉重复数据
            select 日期,null,数量2,null,生产编号
            --UNION ALL结构中只要在第一个SELECT语句中指定类标题
              from B
             where 生产编号='AAAA'
            union ALL
            select 日期,null,null,数量3,生产编号
              from C
              where 生产编号='AAAA')
     GROUP BY 日期,生产编号
     order by 日期
      

  4.   

    SQL> select '00000000' as dt_expec,NULL as qt_argmet ,NULL as qt_necess_expec ,qt_invent from wwgbt322 union all (select dt_necess_expec as dt_expec,NULL as qt_argmet, qt_necess_expec,NULL as qt_invent from wwgbt302);
    select '00000000' as dt_expec,NULL as qt_argmet ,NULL
                                                      *
    qt_necess_expec ,qt_invent from wwgbt322
    エラー行: 1: エラーが発生しました。
    ORA-01790: 式には対応する式と同じデータ型がなければなりません。KingSunSha(弱水三千):为什么他报数据类型必须一致,我该怎么处理啊
    dt_expec:archar2(8)
    qt_argmet:Number(12,3)
    qt_necess_expec:Number(12,3)
    qt_invent:Number(12,3)
      

  5.   

    哎,你把null换成0不就行了?
      

  6.   

    NVL(日期,'00000000')确实会有问题,'00000000'不是合法的日期.
    改成NVL(TO_CHAR(日期,'YYYYMMDD'),'00000000')就可以了,并注意把后面两个SELECT中的日期也用TO_CHAR()转成字符型