Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Столбцы в строку  [new]
FCKFan
Member

Откуда:
Сообщений: 1
Здравствуйте! Помогите, пожалуйста, с запросом. Необходимо видоизменить таблицу, позже создать представление. Сейчас таблица имеет такой вид:
ID	number	tour	time	team	score
1	1	1	19:00	1	2
2	1	1	19:00	10	2


Привести нужно к такому:
ID	tour	time	team1	team2	score1	score2
1	1	19:00	1	10	2	2


То есть объединить в одной записи оба team и оба score, имеющие одинаковое значение number.
Заранее спасибо!
19 май 16, 21:02    [19195764]     Ответить | Цитировать Сообщить модератору
 Re: Столбцы в строку  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
if object_id('tempdb..#T') is not null drop table #T;
SELECT * INTO #T FROM
(
select 1 ID, 1 as number, 1 as tour,'19:00' [time], 1 team,2 score
union all
select 2 ID, 1 as number, 1 as tour,'19:00' [time], 10 team,2 score
)A

if object_id('tempdb..#C') is not null drop table #C;
SELECT number,tour,[time],cast(ID as varchar(10))+'_'+colname as RN,  [values] as value
into #C FROM #T
		UNPIVOT
		   ([values] FOR colname IN 
			  (team,score)
		)AS T

declare @RN nvarchar(4000)
set @RN = substring((select distinct ',['+#C.RN+']' from #C  for xml path('')),2,1000)
			
declare @sql nvarchar(4000)
set @sql = ' 
 select * into #pivottbl from #C
 pivot (
   sum(  Value   )   for RN in ( '+
   @RN
   +' ) ) as pvt 
      select * from #pivottbl
   '
EXECUTE sp_executesql @sql
20 май 16, 09:11    [19196586]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить