【发布时间】:2014-09-19 17:48:14
【问题描述】:
我有一张桌子,布局如下:
表名:事务
transactionId | accountId | technology
--------------------------------------
1 | 1 | mac
2 | 1 | linux
3 | 2 | pc
4 | 3 | linux
5 | 2 | pc
6 | 3 | linux
...
我想生成以下格式的报告
accountId | num. pc | num. mac | num. linux
-------------------------------------------
1 | 1 | 1 | 0
2 | 1 | 0 | 1
3 | 0 | 0 | 2
...
我不是 SQL 专家,但我觉得我应该能够使用 GROUP BY 子句来生成这些结果。是否可以在单个查询中生成此结果集?我目前使用的是 MS SQL Server 2008,所以 T-SQL 可以工作。
谢谢!!
【问题讨论】:
-
等等。您是否要求重新生成一个看起来像这样的新表?或者结果查询以这种格式出现?
-
对不起,我应该更明确一点。我正在寻找生成该结果集的查询。
-
技术字段是否总是被限制为这三个值?
-
Pivot 在这种情况下应该工作得更好。
-
@AHiggins 是的,或多或少。可能会添加新技术,但我应该能够更新查询。
标签: sql sql-server database tsql relational-database