Буду признателен за вашу огромную поддержку в небольшом инциденте ... У меня есть таблица SQL со следующей структурой: ID_Employee 1_1 Вопрос 1_2 Вопрос 2_1 Вопрос 2_2 Вопрос 3_1 Вопрос ...

0
Agal 3 Мар 2021 в 16:52

2 ответа

Лучший ответ

Если у вас есть больше столбцов, которые нужно объединить вместе (скажем, Question1,Question2 и т. Д.), Проще использовать CROSS APPLY для отмены поворота вместо UNPIVOT:

SELECT
    t.ID_Employee,
    v.Question1,
    v.Question2,
    v.Question3
FROM yourtable t
CROSS APPLY (VALUES
    ([1_1 Question], [2_1 Question], [3_1 Question]),
    ([1_2 Question], [2_2 Question], [3_2 Question])
) v(Question1, Question2, Question3)
0
Charlieface 3 Мар 2021 в 16:10

Вам необходимо unpivot ваши данные:

SELECT ID_Employee , questions
FROM
(SELECT * FROM yourtable) pv
UNPIVOT
(questions FOR EmployeeIds IN ( Question1,Question2,Question3,Question4) )  unpvt;

dbfiddle

0
eshirvana 3 Мар 2021 в 14:04