读书人

一个简单的确又不简单的SQL语句.解决方

发布时间: 2012-01-18 00:23:26 作者: rapoo

一个简单的确又不简单的SQL语句...
Table a
a1a2a3
1aaaaa
2baaaa
3caaaa
4daaaa
5eaaaa
-------------
result
a1a2a3a4a5
a1bcde

----
这个SQL怎么写啊?

[解决办法]
如果只是,直接。

Select
Max(Case a1 When 1 Then a2 Else ' ' End) As a1,
Max(Case a1 When 2 Then a2 Else ' ' End) As a2,
Max(Case a1 When 3 Then a2 Else ' ' End) As a3,
Max(Case a1 When 4 Then a2 Else ' ' End) As a4,
Max(Case a1 When 5 Then a2 Else ' ' End) As a5
From
a

但是我估你的不。 :)
[解决办法]
declare @s varchar(8000)
select @s = isnull(@s, ' ') + ', max(case a2 when ' ' ' + a2 + ' ' ' then a2 else null end) as [a ' + ltrim(a1) + '] '
from a
select @s = 'select ' + stuff(@s, 1, 1, ' ') + ' from a '

exec(@s)

读书人网 >SQL Server

热点推荐