Val*_*spa 1 sql firebird where where-clause firebird2.1
这是一个常见的SQL问题,但是如果你必须知道数据库是Firebird的话.
我有这个表(简化):
user amount type -------------------- john 25 credit john 20 debit john 5 debit john 15 credit mike 15 credit
我希望使用单个查询得到一个看起来像这样的结果:
user credit debit -------------------- john 40 25 mike 15 NULL
Where credit = SUM(amount) WHERE type=credit
and debit = SUM(amount) WHERE type=debit
Run Code Online (Sandbox Code Playgroud)
基本上我希望基于字段的SUM(在这种情况下是数量)在结果上有多个字段,但是在不同的条件下(在这种情况下是类型).
在此先感谢您的任何建议.
标准SQL将是:
SELECT "user",
SUM(CASE WHEN type='credit' then amount END) as Credit,
SUM(CASE WHEN type='debit' then amount END) as Debit
FROM
"table"
GROUP BY
"user"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4596 次 |
| 最近记录: |