【问题标题】:SUM from Select query then Show as another Column来自 Select 查询的 SUM 然后显示为另一列
【发布时间】:2015-07-03 23:13:28
【问题描述】:

我有这张桌子,里面放着几个产品

还有一张表格,上面保存着每个产品的订单

我如何组合这些表并获得每个项目的每个 ord_Count 的总和并将其显示为另一列,像这样

总而言之,我有一个包含不同产品的 Items 表,以及一个包含 Items 表中每个产品的订单的 Orders 表,然后我想要一个查询结合这两个表并显示我的库存Items 表中的每个项目。

【问题讨论】:

    标签: sql-server sql-server-2008 tsql select join


    【解决方案1】:

    试试这个:

    SELECT SUM(ord_count) AS Item_stock, itm_Code
    FROM YourTable
    GROUP BY itm_Code
    

    合并两个表:

    SELECT SUM(B.ord_count) AS Item_stock, B.itm_Code
    FROM YourTable1 AS A
    INNER JOIN YourTable2 AS B
        ON A.itm_Code = B.itm_Code
    GROUP BY B.itm_Code
    

    【讨论】:

    • 实际上,我正在尝试获取我刚刚计算出的库存与请求产品之间差异的总和。就像 SUM(stock - requests_prod) as [Stock] 一样简单,我上面没有包括在内。我很困惑,我没有意识到它可以像这样轻松完成。谢谢你的想法。
    【解决方案2】:
    declare @t table (item varchar(20),itemcode varchar(20))
    insert into @t (item,itemcode)values ('choco','ckschoc'),('chocowafer','wfrchoc'),('chocostrrae','wfrstr')
    declare @tt table (ordcnt int,itemcode varchar(20),dated date)
    insert into @tt (ordcnt,itemcode,dated)values (20,'ckschoc','4/24/2015'),(10,'wfrchoc','4/24/2015'),(15,'wfrstr','4/24/2015')
    ,(30,'ckschoc','4/24/2015'),(20,'wfrstr','4/24/2015')
    we can achieve the same result using sub query and corelated join query also
    

    解决方案

    select t.itemcode,p.S  from @t t INNER JOIN   (
    select itemcode,SUM(ordcnt)S from @tt
    GROUP BY  itemcode)P
    ON p.itemcode = t.itemcode
    group by  t.itemcode,P.s
    
    select t.itemcode,
    (select SUM(tt.ordcnt)Cnt from @tt tt 
    where tt.itemcode = t.itemcode 
    group by tt.itemcode )Cnt from @t t 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-05
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多