【发布时间】:2016-03-17 18:58:15
【问题描述】:
我有一个表,其中有一个名为 type 的列,其值为发票或订单值,然后另一列包含该值以及包含客户编号等的列。
我写了一个脚本:-
select
customer,
(CASE WHEN TYPE = 'INVOICED' THEN SUM(INVTOTAL) else 0 END) AS INVTOTAL,
(CASE WHEN TYPE = 'ORDERS' THEN SUM(INVTOTAL) else 0 END) AS ORDERTOTAL
from
salestable
为什么会返回以下内容?
customer INVTOTAL ORDERTOTAL
Joe Bloggs 1000 0
Joe Bloggs 0 1300
而不是
customer INVTOTAL ORDERTOTAL
Joe Bloggs 1000 1300
很抱歉问这样一个新手问题,但我是 SQL 新手,正在学习它...
感谢您的帮助!
【问题讨论】:
-
很明显是salestable中的两行
标签: sql-server tsql select case