Member 12770648 Ответов: 1

Нужно транспонировать поля <B>'ACCEPT', 'BEYOND', 'EXACT'</B> из столбцов в строки.


SQL сервер -2008


Нужно транспонировать поля 'ПРИНЯТЬ','ПО ТУ СТОРОНУ','ТОЧНЫЙ' от Столбцов к строкам.

Как мне закодировать приведенную ниже инструкцию select для достижения этой цели


Объявить @sql nvarchar(4000)

Набор @среда SQL = 'выберите BRN_NAME А. А. PROD_SERV , А. COMP_TYPE,
СЧИТАТЬ(*) КАК OVER_CNT ,
Сумма(случай, когда функция dateadd ("ДД", П. PROD_SERV_TAT, А. COMP_DATE) &ЛТ; срастаться(А. DAT_COMP_INV_CLOSE0,А. DAT_COMP_INV_CLOSE,А. DATE_COMP_CLOS_FRMT)
ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК ПРИНИМАТЬ,
Сумма(случай, когда функция dateadd ("ДД", П. PROD_SERV_TAT, А. COMP_DATE) &ГТ; срастаться(А. DAT_COMP_INV_CLOSE0,А. DAT_COMP_INV_CLOSE,А. DATE_COMP_CLOS_FRMT)
ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК ЗА,
Сумма(случай, когда функция dateadd ("ДД", П. PROD_SERV_TAT, А. COMP_DATE) = КОАЛЕСЦИРУЮТ(А. DAT_COMP_INV_CLOSE0,А. DAT_COMP_INV_CLOSE,А. DATE_COMP_CLOS_FRMT)
ТОГДА 1 ЕЩЕ 0 КОНЕЦ) КАК ТОЧНЫЙ
ИЗ ОТВЕТА А
Левое соединение ответвление с А. BRN_NAME = С. BRN_NAME
Левое соединение PROD_SERV P на A. PROD_SERV = P. PROD_SERV_NAME
Левое соединение PAYMAST Б на А. Л. Неймане = Б. Л. Неймане
И A. FNAME = B. FNAME
И A. EMPNO = B. EMPNO
Где (A. COMP_DATE между @CFROM и @CTO)'


ОТ


BRN_NAME COMP_TYPE PROD_SERV OVER_CNT ПРИНИМАТЬ ЗА ТОЧНОЕ
-----------------------------------------------------------------------------------------------------------------------------------
Ашанти регион морской пехотинец оскорбительный 1 1 0 0
Морские претензии региона Ашанти 2 2 0 0
Регион Ашанти медицинские претензии 1 0 0 1
Ашанти мотор матерные 2 2 0 0
Ашанти регион мотор претензии 135 111 24 0
Ашанти мотор отрицание 2 2 0 0
Большая Аккра медицинские претензии 5 0 0 5
Большая Аккра мотор утверждает 127 102 25 0
Северный регион моторные претензии 114 91 20 3
Volta Region MOTOR CLAIMS 32 28 4 0


ОЖИДАЕМЫЙ РЕЗУЛЬТАТ

BRN_NAME PROD_SERV COMP_TYPE МНЕНИЕ РАССЧИТЫВАЕТ OVER_CNT
----------------------------------------------------------------------------
Ашанти регион морской оскорбительный прием 1 1
Ашанти регион морской пехотинец оскорбительный за пределами 0 1
Регион Ашанти морской оскорбительный точный 0 1

И Так Далее И Тому Подобное

------------------------------
------------------------------


Пожалуйста помогите

Спасибо

Что я уже пробовал:

Продолжающаяся разработка и стек ни один пример не существует после интенсивного поиска в сети

1 Ответов

Рейтинг:
0

CHill60

Начиная с SQL Server 2008, Вы можете использовать UNPIVOT для этого - см.
Использование PIVOT и UNPIVOT | Microsoft Docs[^]
SQL Server Unpivot table - Pinal Dave[^]

Поскольку вы пытаетесь сделать это по нескольким столбцам, то эта статья также должна помочь:
Мульти преобразование[^]