0
我对我自己的个人项目卡住了一个简单的SQL Server事情。SQL Server组和反向
我有一个表X:
| Name | Lecture | Points |
|:-----------|------------:|:------------:|
| John | Math | 2
| John | Bio | 5
| Tom | Physics | 8
| Tom | Math | 2
| Bob | Physics | 1
| Bob | Bio | 6
我的名字,并把所有的点我一个排的每个人要组:
| Name | Math | Bio | Physics |
|:-----------|------:|:----:|:-------:|
| John | 2 | 5 | NULL
| Tom | 2 | NULL | 8
| Bob | NULL | 6 | 1
我试着这样做:
SELECT Name, ? AS Math, ? AS Bio, ? AS Physics
FROM X
GROUP BY Name
但我不知道该放什么而不是“?”。我怎样才能做到这一点 ?
你需要做的无论是PIVOT或交叉表(也称为条件聚合)。 –
是的,PIVOT会做得很好。对于简单的事例,如上例所示,它将非常简单直接。但是,如果您的透视列未知 - 您有艺术,西班牙,PE等 - 并且可以创建更多,您将需要查看创建动态PIVOT。这两个主题都在堆栈交换中很好地覆盖 –