select 时间 ,[2:3酸],[色酚AS],合计 from vw_cgcount_tmp 
--order by 时间 desc
union all
select '增减客户数' as 时间 ,(p1.[2:3酸]-p.[2:3酸]) as [2:3酸],(p1.[色酚AS]-p.[色酚AS]) as
[色酚AS],(p1.[合计]-p.[合计]) as 合计
from vw_cgcount_tmp p,vw_cgcount_tmp p1 
where p1.时间='2011年6月' and p.时间='2010年6月'这order by 用不了,怎么处理下

解决方案 »

  1.   

    把 order by 移到 union 的最后一句.
      

  2.   

    select * from 
    (select 时间 ,[2:3酸],[色酚AS],合计 from vw_cgcount_tmp  
     order by 时间 desc) a
    union all
    select '增减客户数' as 时间 ,(p1.[2:3酸]-p.[2:3酸]) as [2:3酸],(p1.[色酚AS]-p.[色酚AS]) as
    [色酚AS],(p1.[合计]-p.[合计]) as 合计
    from vw_cgcount_tmp p,vw_cgcount_tmp p1  
    where p1.时间='2011年6月' and p.时间='2010年6月'
      

  3.   

    select * from 
    (select 时间 ,[2:3酸],[色酚AS],合计 from vw_cgcount_tmp  
     order by 时间 desc) a
    union all
    select '增减客户数' as 时间 ,(p1.[2:3酸]-p.[2:3酸]) as [2:3酸],(p1.[色酚AS]-p.[色酚AS]) as
    [色酚AS],(p1.[合计]-p.[合计]) as 合计
    from vw_cgcount_tmp p,vw_cgcount_tmp p1  
    where p1.时间='2011年6月' and p.时间='2010年6月'
    这么写不行,我试过了,出错
      

  4.   


    那个括号里不能用order by
      

  5.   

    select 时间 ,[2:3酸],[色酚AS],合计 from vw_cgcount_tmp  
    union all
    select '增减客户数' as 时间 ,(p1.[2:3酸]-p.[2:3酸]) as [2:3酸],(p1.[色酚AS]-p.[色酚AS]) as
    [色酚AS],(p1.[合计]-p.[合计]) as 合计
    from vw_cgcount_tmp p,vw_cgcount_tmp p1  
    where p1.时间='2011年6月' and p.时间='2010年6月'
    order by 时间 desc
      

  6.   


    这样写,必须在子查询中加 top 100 percent
      

  7.   

    select * from
    (
    select 时间 ,[2:3酸],[色酚AS],合计 from vw_cgcount_tmp  
    union all
    select '增减客户数' as 时间 ,(p1.[2:3酸]-p.[2:3酸]) as [2:3酸],(p1.[色酚AS]-p.[色酚AS]) as
    [色酚AS],(p1.[合计]-p.[合计]) as 合计
    from vw_cgcount_tmp p,vw_cgcount_tmp p1  
    where p1.时间='2011年6月' and p.时间='2010年6月'
    )A
    order by A.时间 desc
      

  8.   


    select 时间 ,[2:3酸],[色酚AS],合计 from vw_cgcount_tmp  
    union all
    select '增减客户数' as 时间 ,(p1.[2:3酸]-p.[2:3酸]) as [2:3酸],(p1.[色酚AS]-p.[色酚AS]) as
    [色酚AS],(p1.[合计]-p.[合计]) as 合计
    from vw_cgcount_tmp p,vw_cgcount_tmp p1  
    where p1.时间='2011年6月' and p.时间='2010年6月'
    order by case when 时间='增减客户数' then 1 else 0