열을 기반으로 열을 만드는 방법. 행에 대해 너무 MSSQL : 수를 사용할 때 행을 기반으로 열 만들기
"EOIVR - SB_Internal_LN - 3 - 운영자"는 "연산자"라는 칼럼을 만들 것이며, 값이 "옵션을 눌러"을에서의 값이 될 것이다 다음 표
CREATE TABLE IVRInterval
([cLevelName] varchar(50), [nLevel] FLOAT(20), [I3TimeStampGMT] DATETIME, [cExitPath] varchar(20))
;
INSERT INTO IVRInterval
([cLevelName], [nLevel], [I3TimeStampGMT], [cExitPath])
VALUES
('EOIVR - SB_Internal_LN - 3 - Operator', '5', '2017-10-05 09:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 3 - Operator', '5', '2017-10-05 10:00:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 3 - Operator', '5', '2017-10-11 11:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 3 - Operator', '5', '2017-10-11 12:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 1 - SD', '5', '2017-10-11 13:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 1 - SD', '5', '2017-10-09 08:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 1 - SD', '5', '2017-10-09 11:00:00.000', '*'),
('EOIVR - SB_Internal_LN - 1 - SD', '5', '2017-10-11 15:00:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 1 - SD', '5', '2017-10-06 09:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 1 - SD', '5', '2017-10-06 11:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 1 - SD', '5', '2017-10-09 14:30:00.000', '*'),
('EOIVR - SB_Internal_LN - 2 - Lobby', '5', '2017-10-06 13:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 2 - Lobby', '5', '2017-10-09 14:00:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 2 - Lobby', '5', '2017-10-04 07:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 2 - Lobby', '5', '2017-10-04 08:30:00.000', 'Workgroup Queue'),
('EOIVR - SB_Internal_LN - 2 - Lobby', '5', '2017-10-10 08:00:00.000', '*')
내가이 쿼리를 실행
select
Convert(date,I3TimeStampGMT) as 'Dates',
(select cLevelName) as 'Options Name',
count(I3TimeStampGMT) as 'Option Press'
from IVRInterval
where
I3TimeStampGMT between '2017-10-04 00:00:00' and '2017-10-11 23:59:59'
and cLevelName like '%%EOIVR - SB_Internal_LN -%%'
and nLevel = '5'
and not cExitPath = '*'
group by cLevelName, Convert(date,I3TimeStampGMT)
나는
Dates Options Name Option Press
2017-10-04 EOIVR - SB_Internal_LN - 2 - Lobby 2
2017-10-05 EOIVR - SB_Internal_LN - 3 - Operator 2
2017-10-06 EOIVR - SB_Internal_LN - 1 - SD 2
2017-10-06 EOIVR - SB_Internal_LN - 2 - Lobby 1
2017-10-09 EOIVR - SB_Internal_LN - 1 - SD 1
2017-10-09 EOIVR - SB_Internal_LN - 2 - Lobby 1
2017-10-11 EOIVR - SB_Internal_LN - 1 - SD 2
2017-10-11 EOIVR - SB_Internal_LN - 3 - Operator 2
내가이
Date Lobby SD Operator
2017-10-11 0 1 1
처럼 내 결과를 가지고 싶습니다이 결과를 얻을 나는 읽기 전용당한 경우 MSSQL에
뿐만 아니라 피들 링크를 사용하여 질문에 바이올린 코드를 복사하고 게시물의 출력에 대한 설명을 추가하십시오. 결과가 원하는 출력으로 이어질 수는 없습니다. – Tanner
여기를보세요 https://stackoverflow.com/questions/10404348/sql-server-dynamic-pivot-query – ventik