Xpoint
   [напомнить пароль]

Как развернуть строку в столбец?

Метки: [без меток]
2008-10-21 21:45:21 [обр] Валера(0/24)[досье]

БД MySQL, задача: запрос возвращает строку, надо развернуть ее в два столбца, чтобы в одном были названия столбцов, а во втором - значения.

Пример: обычный запрос возвратил

namedeptsalary
Ivanov11500

а надо получить

nameIvanov
dept1
salary1500

Поискал в мануале по MySQL - ничего подобного не нашел. Вроде как в MSSql есть что-то подобное (операторы PIVOT / UNPIVOT), а что с MySQL?

спустя 6 минут [обр] Алексей Севрюков(7/1292)[досье]
Валера[досье] ключик \G вместо ;? Но это будет работать в родном консольном клиенте. А если Вы это делаете в скрипте, то кто Вам мешает это там перевернуть.
спустя 3 минуты [обр] Валера(0/24)[досье]
нужно как раз средствами SQL. Про ключик не совсем понял...я в SQL менеджере запускаю, то бишь без командной строки.
спустя 19 минут [обр] Алексей Севрюков(7/1292)[досье]
Валера[досье] в консоле есть два варианта завершение команды, либо ; либо \G. Вот \G как раз и делает то, что вы хотите. Т.е. это средство самой консоли, а не MySQL. Так что если Ваш менеджер не умеет менять вывод, то боюсь, у Вас ничего не получится.
спустя 3 минуты [обр] Валера(0/24)[досье]
Хм...предполагается что нет доступа к командной строке запуска MySQL и консоли...а могут быть какие-то SQL операторы для этой цели, аналог MSSQL'евских PIVOT / UNPIVOT?
спустя 1 минуту [обр] Алексей Севрюков(7/1292)[досье]
Валера[досье] AFAIK, таких операторов нет.
спустя 11 минут [обр] Валера(0/24)[досье]
Буду разбираться, спасибо.
спустя 13 часов [обр] Nuclon(0/22)[досье]
через union, но это как-то некрасиво
спустя 18 минут [обр] Алексей Севрюков(7/1292)[досье]
Nuclon[досье] через UNION, каким же образом? Количество селектов равно количеству столбцов? Да уж, это не вариант.
Powered by POEM™ Engine Copyright © 2002-2005