Конференция "Базы" » Перевернуть таблицу [MySQL]
 
  • pirks © (29.02.08 17:22) [0]
    Всем привет.
    Вот такая у меня проблема:

    Есть таблица в MySQL

    name            | mark |  date
    -------------|-------------
    Александр    | 2      |  10
    Александр    | 4      |  11
    Александр    | 1      |  12
    Александр    | 3      |  13
    Дима            | 3      |  11
    Дима            | 3      |  12
    Дима            | 4      |  13


    из неё нужно зделать

    name            | 10|11|12|13
    -------------|----------------
    Александр    | 2 | 4 | 1 | 3 |
    Дима            |    |3 | 3 | 4 |


    Это возможно используя один лиш SQL ?
    Если кто знает приведите примерный вид запроса.
    Заранее всем спасибо.
  • Anatoly Podgoretsky © (29.02.08 23:42) [1]
    > pirks  (29.02.2008 17:22:00)  [0]

    Это не переворот, а транспонирование в куб.Eвместимости с которым и оставлена эта функция. если не заниматься батонокидательством. Вариант с Control гарантирует результат, вариант с Components не всегда.
  • pirks © (29.02.08 23:51) [2]
    >>куб.Eвместимости
    Не понял я что ты имеешь в веду
  • pirks © (29.02.08 23:54) [3]
    Да и просто транспонирование не даст того что нужно.
    а как понимать в ... куб ?
  • Виталий Панасенко(дом) (01.03.08 10:17) [4]
    Для просмотра(и редактирования) - NXDBGRID...
  • pirks © (01.03.08 11:07) [5]
    не нен тдёт.
    Я же нарисовал таблицу которая должна получиться.
    Мне не совсем поворот нужен.
    Нужно получи1ть из 1 таблици вторую.
  • pirks © (01.03.08 11:13) [6]
    Да и ещё желательно чтоб это делала субд
    через SQL. Не хочу грузить клиентские приложения.
  • Виталий Панасенко(дом) (01.03.08 12:12) [7]

    > pirks ©   (01.03.08 11:13) [6]
    >
    > Да и ещё желательно чтоб это делала субд
    > через SQL. Не хочу грузить клиентские приложения.

    И еще желательно, что бы она (СУБД) это умела делать...Так, кажись, только MS Access умеет делать(TRANSFORM)...а для чего все эти телодвижения ?
  • pirks © (01.03.08 12:27) [8]
    Надо.
    У меня в бд хранятся результаты тестирования студентов.
    Вот хочу представить это всё в привычной нормальной форме как в журнале.

    неужели мускл не держит запросы где мона динамически изменять содержимого раздела SELECT ?

    Может у кого есть инфа по этому поводу ?
  • b z (01.03.08 12:31) [9]
    искать по pivot в mysql
    ну вот как-то так:
    http://en.wikibooks.org/wiki/MySQL/Pivot_table
  • makz © (01.03.08 12:39) [10]
    Наверое это и будет батонокидательство:
    select name,
             ...
             (select mark from TAB where DATE=10),
             (select mark from TAB where DATE=11),
             (select mark from TAB where DATE=12),
             ...
    from TAB
  • makz © (01.03.08 12:41) [11]
    т.е. конечно сложнее с вложенным будет
    (select mark from TAB where DATE=12 and name = ..)
  • pirks © (01.03.08 12:50) [12]
    Принцип я понял, как нужно писать.
    Я думаю смогу написать теперь то что требовалоь.
    Всем огромное спасибо что обратили внимание на мою проблему)))))))
    Всем удачи и пока )))
 
Конференция "Базы" » Перевернуть таблицу [MySQL]
Есть новые Нет новых   [134431   +14][b:0][p:0]