更新时间:2023-02-07 13:53:30
由于SQL Server 2000中的游标和枢轴在SQL Server 2000中不可用,我希望有人在这里可以帮助我。没有 PIVOT
函数,您应该能够使用类似于以下内容的
Since SQL Server 2000 does not have the PIVOT
function, you should be able to use something similar to the following:
DECLARE @query AS NVARCHAR(4000)
DECLARE @rowCount as int
DECLARE @pivotCount as int
DECLARE @pivotRow as varchar(10)
set @rowCount = 1
set @pivotRow = ''
create table #colsPivot
(
id int IDENTITY(1,1),
name varchar(20),
CustId int
)
insert into #colsPivot
select 'Observacion', IDObservacionCustomer
from yourtable
set @pivotCount= (select COUNT(*) from #colsPivot)
-- reset rowcount
set @rowCount = 1
set @query = ''
---- create the CASE string
while @rowCount <= @pivotCount
begin
set @pivotRow = (select Top 1 CustId from #colsPivot)
set @query = @query + ', max(case when IDObservacionCustomer = ''' + @pivotRow + ''' then Observacion end) as ''Observacion_' + cast(@rowCount as varchar(10)) + ''''
delete from #colsPivot where CustId = @pivotRow
if @rowCount <= @pivotCount
begin
set @rowCount = @rowCount + 1
end
end
-- add the rest of the SQL Statement
set @query = 'SELECT IDProspecto ' + @query + ' from yourtable group by IDProspecto'
exec(@query)