【发布时间】:2018-05-16 12:13:57
【问题描述】:
我很难弄清楚如何为这个问题命名,所以我提前道歉。
这是我的情况:
我有一张桌子,里面只有人。我有另一个包含所有帐户的表,其中包含 personID、accountType 和 balance 列。一个人可以有多个帐户,有不同的帐户类型,并不是每个人都拥有所有不同的帐户类型。
如何编写一个查询,每行列出一个人,并为每个“帐户类型”的余额提供一列?
理想情况下,我的查询应该是这样的:
PersonID | Account Type 1 Bal | Account Type 2 Bal | Account Type 3 Bal |
-------------------------------------------------------------------------
1 | $100 | null | null |
2 | null | $12 | $1300 |
3 | null | null | $5 |
4 | $150 | null | null |
5 | $65 | $300 | $45 |
我假设我会使用某种 case 语句,但我还没有弄明白。另外,如果他们有多个相同的帐户类型,我想我会正确使用 sum() 吗?
谢谢。
【问题讨论】:
-
您使用的是哪个数据库?
-
跨系统缓存。抱歉,我会更新问题
标签: sql case intersystems-cache