У нас есть таблица, показывающая суммы (CHGCNT) на 3 даты (5-9-2016, 5-10-2016, 5-11-2016) для каждого магазина & Депты.SQL Server Row В колонку
Я хочу, чтобы иметь возможность просмотреть записи в таблице, как это:
я уже применил следующий запрос
declare @dt as datetime
declare @dt1 as varchar(10)
declare @dt2 as varchar(10)
declare @dt3 as varchar(10)
select distinct @dt = min(effdt) from [HQExtract].[dbo].[FSM_PRICE_TAGCOUNT]
-- print CONVERT(CHAR(10), @dt, 110) + ' ---- ' + CONVERT(CHAR(10), @dt+1 , 110)
set @dt1 = CONVERT(CHAR(10), @dt, 110)
set @dt2 = CONVERT(CHAR(10), @dt +1 , 110)
set @dt3 = CONVERT(CHAR(10), @dt + 2 , 110)
--print @dt1 + ' ---- ' + @dt2 + '-----' + @dt3
SELECT DEPTNM, DEPT, [@dt1] , [@dt2] , [@dt3]
FROM [HQExtract].[dbo].[FSM_PRICE_TAGCOUNT]
PIVOT
(
SUM(CHGCNT)
FOR effdt IN ([@dt1] , [@dt2] , [@dt3])
) AS P
Вы не должны жесткий код ваши столбцы, которые вы поворотный мимо. Вы должны выяснить их динамически. Просто google SQL pivot, и вы должны найти подходящий ответ. – PyNoob
похоже: http://stackoverflow.com/questions/37051655/sqlserver-table-row-to-column-data/37054088#37054088 –