争求一个复杂的存储过程或SQL语句,高手帮忙啊
flight effectdate subclass
------- ------------------------------------------------------ --------
va1235 2007-04-18 00:00:00.000 a
va1235 2007-04-18 00:00:00.000 d
va1235 2007-04-18 00:00:00.000 f
va1235 2007-04-18 00:00:00.000 e
va1235 2007-04-18 00:00:00.000 v
va1235 2007-04-19 00:00:00.000 c
va1235 2007-04-19 00:00:00.000 d
va1235 2007-04-19 00:00:00.000 f
.......
对同一flight进行按日期的归并,如下
转成
flight effectdate a d f e v c
va1235 2007-4-18 T T T T T NULL
va1235 2007-4-19 null T T null null T
.....
[解决办法]
需要通过临时表实现
[解决办法]
subclass固定的话可以这样写
select flight,
effectdate,
max(case when subclass= 'a ' then 'T ' end) as a,
max(case when subclass= 'd ' then 'T ' end) as d,
max(case when subclass= 'f ' then 'T ' end) as f,
max(case when subclass= 'e ' then 'T ' end) as e,
max(case when subclass= 'v ' then 'T ' end) as v,
max(case when subclass= 'c ' then 'T ' end) as c
from tbtest
group by flight,effectdate
[解决办法]
Declare @S Varchar(8000)
Select @S = 'Select flight, Convert(Varcahr(10), effectdate, 120) As effectdate '
Select @S = @S + ', Max(Case subclass When ' ' ' + subclass + ' ' ' Then T Else Null End) As [ ' + subclass + '] ' From TableName Group By subclass
Select @S = @S+ ' From TableName Group By flight, Convert(Varcahr(10), effectdate, 120) '
EXEC(@S)
[解决办法]
第一个是根据同一天记录排序
[解决办法]
好多人啊,看来我是抢不到了:)
[解决办法]
太强了,高手如云啊。
学习了
[解决办法]
FDS