【发布时间】:2009-09-15 21:40:11
【问题描述】:
我有一张表,我需要在其中对某个字段进行一些简单的数学运算。我在 SQL 中尝试了嵌套的 SELECTS、IF/THEN 或 CASE 语句,但无济于事。
示例表:
wYear, yMonth, Account, Usage, Serv_code
2008, 9, 12345, 1000, 香蕉
2008, 9, 12345, 5000, 香蕉
2008, 9, 12345, 4000, 苹果
2007, 5, 54321, 1500, 香蕉
我需要按 wYear、yMonth、Account 分组并添加“Usage” WHERE Serv_code = 'Banana'...
选择 wYear、yMonth、Account、SUM(Usage) 作为“Totals”
来自我的表
WHERE Serv_code = '香蕉'
GROUP BY wYear, yMonth, Account
但是我碰壁的地方是 - 如果“Serv_code”确实等于“Apple”(WHERE Serv_code = 'Apple'),我需要从 SUM(Usage)中减去“Apple”Usage。
使用上表的示例结果:
2008, 9, 12345, 2000
2007, 5, 54321, 1500
当谈到 SQL 时,我是个 hack,答案很简单,但那是其中之一。
【问题讨论】:
-
如果您包含用于测试数据的 create table 和 insert 语句,则回答此类问题会更容易。
标签: sql