select 品名,种类,单位,sum(数量) 数量
from(
select * from a
union
select * from b
)
group by 品名,种类,单位;

解决方案 »

  1.   

    select 品名, 种类 ,单位 sum(a.数量)-(select Sum(b.数量)  from b where b.品名=a.品名 group by b.品名 ) from a  group by a.品名
      

  2.   

    select 品名,种类,单位,sum(数量) as  数量
    from(
    select * from a
    union all
    select 品名,  种类,  单位 , -数量 from b
    )
    group by 品名,种类,单位
      

  3.   

    select 品名, 种类 ,单位 sum(a.数量)-(select Sum(b.数量)  from b where b.品名=a.品名 group by b.品名 ) from a  group by a.品名 
    union
    select 品名, 种类 ,单位 sum(a.数量) from a where a.品名 not in 
    (select 品名 from b)
      

  4.   

    if OBJECT_ID('tempdb..#TEMP1') is not null
    DROP TABLE #TEMP1
    if OBJECT_ID('tempdb..#TEMP2') is not null
    DROP TABLE #TEMP2
    CREATE TABLE #TEMP1 (品名 nvarchar(20),种类 nvarchar(20),单位 nvarchar(2), 数量 int)
    INSERT #TEMP1 VALUES('大豆','食品','斤',20)
    INSERT #TEMP1 VALUES('黄瓜','食品','斤',30)
    INSERT #TEMP1 VALUES('大豆','食品','斤',15)
    SELECT * FROM #TEMP1
    CREATE TABLE #TEMP2 (品名 nvarchar(20),种类 nvarchar(20),单位 nvarchar(2), 数量 int)
    INSERT #TEMP2 VALUES('大豆','食品','斤',8)
    INSERT #TEMP2 VALUES('大豆','食品','斤',2)
    SELECT * FROM #TEMP2select 品名,种类,单位,sum(数量) as 数量 from ( select * from #TEMP1 union select 品名,种类,单位,-数量 as 数量 from #TEMP2) c group by 品名,种类,单位
      

  5.   

    SELECT
        品名, 
        种类, 
        单位, 
        (SUM(ruku.数量) - (SELECT SUM(chuku.数量)
    FROM
        chuku GROUP BY chuku.品名)) AS 数量 FROM ruku GROUP BY 品名, 
        种类, 
        单位
    *******
    按蓝天白云的思路改成这样,虽然报错但可以运行了。
    待我再试试看任水寒的代码,还有就是怎样生成一个新表呢?
      

  6.   

    SELECT a.品名,a.种类,a.单位,a.s-b.s AS 数量
    FROM (SELECT 品名,种类,单位,SUM(数量) AS s FROM A表 GROUP BY 品名,种类,单位) AS a,
         (SELECT 品名,种类,单位,SUM(数量) AS s FROM B表 GROUP BY 品名,种类,单位) AS b,
    WHERE a.品名=b.品名
      

  7.   

    select 品名,种类,单位,sum(数量) as 数量
    #tmpA
    from a
    group by 品名,种类,单位select 品名,种类,单位,sum(数量) as 数量
    #tmpB
    from B
    group by a.品名,a.种类,a.单位,isnull(A.数量,0)-isnull(B.数量,0)
    select 品名,种类,单位,
    from #tmpA A
    RIGHT OUTER JOIN #tmpB B on a.品名=b.品名 drop table #TmpA
    drop table #tmpB
      

  8.   

    select a.品名,a.种类,a.单位,sum(a.数量) - sum(b.数量)
    from a,b
    where a.品名 = b.品名
    group by a.品名,a.种类,a.单位,b.品名
      

  9.   

    SELECT语句中加入INTO 新表名