При попытке поворота таблицы sql я наткнулся на это сообщение Here. Используя этот метод, я создал запрос. Однако я понял, что он, конечно, объединяет результаты с функцией MAX. Однако мне нужен Colum для поворота, но для всех случаев, которые нужно показать. Код, взятый сверху.sql pivot без агрегата
SELECT dy,
MAX(CASE WHEN period = 1 THEN subj ELSE NULL END) AS P1,
MAX(CASE WHEN period = 2 THEN subj ELSE NULL END) AS P2,
FROM Classes
GROUP BY dy
Так что, по сути, я хочу использовать это, но без функции max? Есть идеи?
Редактировать данные Пример
Day Period Subject
Mon 1 Ch
Mon 2 Ph
Tue 1 Ph
Tue 2 Ele
Mon 1 Ch
Mon 2 Ph
Tue 1 Ph
Tue 2 Ele
пример вывода
Day P1 P2
Mon Ch Ph
Mon Ch Ph
Tue Ph Ele
Tue Ph Ele
так поясню, если данные вводятся в два раза появляется дважды ...
Редактировать фактический SQL ..
SELECT other
MAX(CASE WHEN period = 1 THEN table2.subj ELSE NULL END) AS P1,
MAX(CASE WHEN period = 2 THEN table2.subj ELSE NULL END) AS P2
FROM table1
left join table2 on table2.ID = subject
GROUP BY other
Пример Данные
Table1
Dy Period Subject other
Mon 1 1 1
Mon 2 2 1
Tue 1 3 2
Tue 2 4 2
Mon 1 5 3
Mon 2 6 3
Tue 1 7 4
Tue 2 8 4
table2
ID Subj
1 ch
2 ph
3 ph
4 ele
5 ch
6 ph
7 ph
8 Ele
пример вывода
Day P1 P2 other
Mon Ch Ph 1
Mon Ch Ph 3
Tue Ph Ele 2
Tue Ph Ele 4
Укажите данные примера и ожидаемый результат, чтобы мы могли видеть, что вы пытаетесь выполнить. –