【发布时间】:2016-12-16 20:06:44
【问题描述】:
我不确定在 where 子句中给这个条件取什么合适的名字。我正在使用 Microsoft SQL Server 2008。
基本上,我有一个包含以下列的订单表。
我的订单表:
OrderAmount Paid OrderDate
100 Y 2016-08-10 21:15:52.000
120 N 2016-08-10 20:15:12.000
300 Y 2016-08-09 11:10:22.000
500 Y 2016-06-09 10:10:54.000
125 N 2016-06-09 09:15:13.000
325 N 2015-11-09 09:15:13.000
目前,我有以下 SQL 查询:
SELECT DATEPART(Year, OrderDate) TheYear, DATEPART(Month, OrderDate) TheMonth,
SUM(ISNULL(OrderAmount, 0)) as SumOrderAmount
FROM MyOrderTable
WHERE YEAR(OrderDate) = 2016
GROUP BY DATEPART(Year, OrderDate), DATEPART(Month, OrderDate)
ORDER BY TheYear, TheMonth
上述SQL返回的结果如下:
TheYear TheMonth SumOrderAmount
2016 6 625
2016 8 520
我怎样才能查询 SumOrderAmount 行是 Paid='Y' 的地方?我想从 SQL 中返回以下内容:
TheYear TheMonth SumOrderAmount PaidSumOrderAmount
2016 6 625 500
2016 8 520 400
我该怎么做?任何帮助是极大的赞赏。谢谢。
【问题讨论】:
标签: sql sql-server sql-server-2008