SQL Server or C# transpose
本文关键字:transpose or Server SQL | 更新日期: 2023-09-27 18:08:09
我知道这似乎是一个非常基本的问题,但它不是;我不能使用SQL Server pivot,因为我不想要SUM,我只想要转置。
我如何在SQL查询中转换SQL数据在c# LINQ上?哪个是最快的?
通用数据
| Company | Product | Count |
|---------|---------|-------|
| Cloud | Nokia | 10 |
| Cloud | Samsung | 30 |
| Cloud | Sony | 42 |
| Coms | Apple | 34 |
| Coms | Nokia | 39 |
| Coms | Samsung | 11 |
| Coms | Sony | 22 |
| RP | Nokia | 22 |
| RP | Samsung | 29 |
| RP | Sony | 22 |
这:
| Company | Nokia | Samsung | Sony | Apple |
|---------|-------|---------|------|--------|
| Cloud | 10 | 30 | 42 | 0 |
| Coms | 39 | 11 | 22 | 34 |
| RP | 22 | 29 | 22 | 0 |
这个查询:
SELECT
Company
, [Nokia]
, [Samsung]
, [Sony]
, [Apple]
FROM
YourTable
PIVOT (
MAX(Count) FOR Product IN ([Nokia], [Samsung], [Sony], [Apple])
)
AS p
会产生:
| COMPANY | NOKIA | SAMSUNG | SONY | APPLE |
|---------|-------|---------|------|--------|
| Cloud | 10 | 30 | 42 | (null) |
| Coms | 39 | 11 | 22 | 34 |
| RP | 22 | 29 | 22 | (null) |
<<p> SQLFiddle演示/strong>