【问题标题】:SQL sum columns depend on the value of other columnSQL sum 列依赖于其他列的值
【发布时间】:2014-11-02 06:48:05
【问题描述】:

我有一个包含字段的表格:

Doc_No , Doc_Type , Item_No , Added_Qty ,Deducted_Qty 

我需要一个返回结果集的查询

  • if Doc_Type= "2" then select sum(Added_Qty) AS SUM_Added_Qty
  • if Doc_Type= "7" then select sum(Deducted_Qty) AS SUM_Deducted_Qty

并显示SUM_Added_Qty - SUM_Deducted_Qty AS Stock

结果必须在同一行

--------------------------------------------------------
| Item_No  |  SUM_Added_Qty |  SUM_Deducted_Qty | Stock|
--------------------------------------------------------

感谢您的帮助!

(系统为Sql server)

【问题讨论】:

  • “系统是 Sql”是什么意思?是 MySQL、Oracle、SQL-Server 等吗?

标签: sql-server lookup


【解决方案1】:
SELECT Item_No,
        SUM(CASE WHEN Doc_Type = '2' THEN Added_Qty ELSE 0 END) SUM_Added_Qty,
        SUM(CASE WHEN Doc_Type = '7' THEN Deducted_Qty ELSE 0 END) SUM_Deducted_Qty,
        SUM(CASE WHEN Doc_Type = '2' THEN Added_Qty
                 WHEN Doc_Type = '7' THEN -Deducted_Qty
                 ELSE 0 END) Stock
FROM YourTable
GROUP BY Item_No

【讨论】:

  • 非常感谢 :) 我想添加更多字段 SUM(CASE WHEN Doc_Type = '2' THEN added_Qty WHEN Doc_Type = '7' THEN -Deducted_Qty - Requested_Qty ELSE 0 END)库存但结果为 0
猜你喜欢
  • 2015-06-17
  • 2013-09-18
  • 1970-01-01
  • 2023-03-23
  • 2023-01-09
  • 1970-01-01
  • 2021-07-10
  • 2018-04-20
  • 1970-01-01
相关资源
最近更新 更多