急问,一个合并表数据的问题!!!
表A
aID aYear cTitle
1 2006 a
2 2006 b
3 2007 a
4 2007 b
aID是自增,每年的数据记录数相同,就是复每年的数据的.
要合并成如下
aID2006 cTitle aID2007
1 a 3
2 b 4
这样的Sql如何写?
------解决方案--------------------字段不固定 需要用另一个表来记录本表结构,动态增加字段
下班了 明天试下
------解决方案-----------------------aYear固定只有2006和2007
Select Max(Case aYear When 2006 Then aID Else ' ' End) As aID2006,
cTitle,
Max(Case aYear When 2007 Then aID Else ' ' End) As aID2007
From TbY
Group By cTitle
---不固定
Declare @sql Varchar(8000)
Set @sql= ' '
Select @sql=@sql+ ',Max(Case aYear When ' ' '+Cast(aYear As Varchar)+ ' ' ' Then aID Else ' ' ' ' End)
As [aID '+Cast(aYear As Varchar)+ '] ' From TbY Group By aYear
Exec( 'Select cTitle '+@sql+ 'From TbY Group By cTitle ')