有两个表结构相同的表(下单物料,物料),为什么在Access中可以,而在SQL Server数据库中却不能通过?要得到这个功能,应怎样解决?
select 物料编号,sum(库存数) as 库存 
from (select 物料编号,-库存数 from 下单物料
union
  select 物料编号,库存数 from 物料)
group by 物料编号

解决方案 »

  1.   

    select 物料编号,sum(库存数) as 库存 
    from (select 物料编号,(-库存数) as 库存数 from 下单物料  --这样试试看
    union
      select 物料编号,库存数 from 物料)
    group by 物料编号
      

  2.   

    不是上面的问题,如果用下面语句也可以通过,如果加上group by语句后就提示group语法错select 物料编号,-库存数 from 下单物料
    union
      select 物料编号,库存数 from 物料
      

  3.   

    按如下方法改即可
    select 物料编号,sum(库存数) as 库存 
    from (select 物料编号,-库存数 as 库存数 from 下单物料 //加上 as 库存数
    union
      select 物料编号,库存数 from 物料) UnionTable //加上别名
    group by 物料编号