1
我已经使用了SQL一段时间,但不会说我处于高级水平。我一直试图弄清楚自己无济于事。如何选择多个计数(*)值然后按特定列分组
我有两个表 - 交易和TRANSACTIONTYPE:
| **TransactionID** | **Name** | **TransactionTypeID** |
| 1 | Tom | 1 |
| 2 | Jim | 1 |
| 3 | Mo | 2 |
| 4 | Tom | 3 |
| 5 | Sarah | 4 |
| 6 | Tom | 1 |
| 7 | Sarah | 1 |
| **TransactionTypeID** | **TransactionType** |
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
的Transaction.TransactionTypeID是Forein关键链接TransactionType.TransactionTypeID场。
这里是想什么我实现:
我想查询(这将是一个存储过程),返回三列:
名称 - 的价值Transaction.Name列。
NumberOfTypeATransactions - 该人的所有类型为'A'的交易的数量的计数。
NumberOfNonTypeATransactions - 不是该类型的所有事务数(即所有其他事务类型)的计数。
因此,使用上面的数据为例,结果集将是:
| **Name** | **NumberOfTypeATransactions** | **NumberOfNonTypeATransactions** |
| Tom | 2 | 1 |
| Jim | 1 | 0 |
| Mo | 0 | 1 |
| Sarah | 1 | 1 |
我可能还需要根据日期时间(这将基于“交易日返回结果'列在交易表中,但我还没有最终确定这个要求。
任何帮助我如何能够实现这一点将不胜感激。表的布局道歉有点奇怪 - 还没有解决如何正确格式化它们
这似乎已经诀窍 - 感谢您的帮助! –