Помогите пожалуйста перевернуть таблицу очень нужно (oracle)

Компьютеры программирование базы данных oracle

есть исходная таблица:
code | name | mes1 | mes2 | mes3

нужно перенести в

code | name | value

т.е. mes1,mes2,mes3 переписывается в value c соответствующим code и name. получится из одной строки три

Примечание:
при чем тут программа? мне нужно с запросом разобраться

Примечание:
на сколько я понимаю, concat склеивает строки. зачем мне это?

Примечание:
например есть такие данные:
code | name | mes1 | mes2 | mes3
55 | n1 | 11 | 22 | 33
44 | n2 | 111 | 222 | 333

должно получится:
code | name | value
55 | n1 | 11
55 | n1 | 22
55 | n1 | 33
44 | n2 | 111
44 | n2 | 222
44 | n2 | 333

Примечание:
не ужели нельзя перевернуть? а отдельными запросами я могу, но это бред
Ответы:
Что на листочке с ручкой и карандашиком показывать? Что за программу используешь?
CONCAT() - есть такая функция?
`table1` - исходная таблица, `table2` вторая таблица
INSERT INTO `table2` SELECT `code`,`name`,CONCAT(`mes1`,`mes2`,`mes3`) as `value` FROM `table1`
Как то так
Естественно предпологаем что в `table2` поля code, name, value именно в таком порядке иначе надо использовать по другому.
А также в этих таблицах нет совпадающих ключей
INSERT INTO ... SELECT code, name, CONCAT(mes1, CONCAT(mes2, mes3)) FROM ...
или
INSERT INTO ... SELECT code, name, mes1 || mes2 || mes3 FROM ...
Тогда тебе надо 3 запроса делать
Запросом нет (хотя возможно можно придумать какой-нибудь изврат с несколькими подзапросами, но лучше не надо, это не эффективнее). Почему ты считаешь, что отдельными запросами это бред? Ты можешь написать функцию на том языке, на котором ты пишешь, которая будет тебе делать все необходимое
Дополнение #4
Бред - это то, что написано в вопросе. А перевернуть в этом случае нужно понимание БД и понимание того, что нужно сделать.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.