查询1
select 
  nvl(substr(create_date,1,4),to_char(sysdate,'YYYY')) as 年,
  nvl(substr(create_date,6,2),to_char(sysdate,'mm')) as 月,
  nvl(substr(create_date,9,2),to_char(sysdate,'dd')) as 日,
from vw_budget_voucher
where 1=1
and is_valid=1查询2
select
   (t.base_avi+t.add_avi-t.minus_avi+t.adjust_add_avi - t.adjust_minus_avi) 
from vw_budget_query t 
问题:我想要把2个查询合在一起 查询2的不是单行  不能欠套 我用了下 合并 也不行   求高手给我个解答 谢谢
急----

解决方案 »

  1.   

    union我用过了 不行的 
      

  2.   

    原代码:
    (select 
      file_name as 市专款文号,
      nvl(substr(create_date,1,4),to_char(sysdate,'YYYY')) as 年,
      nvl(substr(create_date,6,2),to_char(sysdate,'mm')) as 月,
      nvl(substr(create_date,9,2),to_char(sysdate,'dd')) as 日,
      bs_name as 科目,
      sm_name as 明细摘要
    from vw_budget_voucher
    where 1=1
    and is_valid=1
    )
    union all
    (
    (select 
      ( t.base_avi+t.add_avi-t.minus_avi+t.adjust_add_avi - t.adjust_minus_avi)
    from vw_budget_query t 
    )
    )
      

  3.   

    你想要合并行还是合并列?
    合并行要用union 但是得保证两个查询的列相同
    你的第一个sql有年 月 日 这些列 第二个sql只有一列 不可能union起来
    想要合并列 两个表要有关联关系 用join
    不知道你想怎么合并 没办法写
      

  4.   

    那你给描述下你想要的效果
    第一个sql有四列 第二个sql有一列 你怎么在一个窗口显示出来?
    还有 他们是公用同一个列名吗?
    假设sql1的结果
    年 月 日
    2011 05 11
    2011 05 12sql2的结果
    自定义列名
    23
    25
    你想显示成什么效果?
    我真想象不出来
      

  5.   

    如果两个sql中间用分号隔开,选中两个同时执行,结果集中会有两个tab页,可以通过切换tab页查看两个查询结果
    我用的是10g
    不知道你是不是想要这样的效果