У меня есть таблица базы данных Sql, подобный следующему:Как повернуть строки в столбцы (пользовательские поворотными)
Day Period Subject
Mon 1 Ch
Mon 2 Ph
Mon 3 Mth
Mon 4 CS
Mon 5 Lab1
Mon 6 Lab2
Mon 7 Lab3
Tue 1 Ph
Tue 2 Ele
Tue 3 Hu
Tue 4 Ph
Tue 5 En
Tue 6 CS2
Tue 7 Mth
Я хотел бы она отображается следующим образом: Вид кросс-таблицы или Pivot
Day P1 P2 P3 P4 P5 P6 P7
Mon Ch Ph Mth CS2 Lab1 Lab2 Lab3
Tue Ph Ele Hu Ph En CS2 Mth
Что было бы идеальным способом сделать это? Может кто-нибудь, пожалуйста, покажите мне код Sql, пожалуйста?
+1: Вы были быстрее и имеют ORDER BY , Поэтому я просто добавлю: как вы можете видеть, динамические столбцы потребуют использования динамического SQL. Существует синтаксис ANSI PIVOT, но он поддерживается только SQL Server 2005+ и Oracle 11g. –
В настоящее время я делаю это в SQLite, но это довольно интенсивная операция. Кто-нибудь знает, есть ли более эффективное решение? – EnemyBagJones
Я не верю, что SQLite имеет любую встроенную опорную функцию, поэтому, вероятно, это то, за что вы застряли. Я не использую SQLite, хотя, возможно, у кого-то, у кого больше опыта работы с этим конкретным продавцом SQL, есть идея лучше. –