我知道这似乎是一个非常基本的问题,但它不是;我不能使用SQL Server数据透视表,因为我不想要SUM,我只想转置。
如何在C#LINQ中的SQL查询中转置SQL数据?哪个是最快的?
常规数据
| 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 |
答案 0 :(得分:1)
此查询:
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) |