MySQL дублирование строки результата @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 8 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Заголовок сообщения: MySQL дублирование строки результата
Сообщение Добавлено: 5 Декабрь 2007, 08:20:25 
Хочу что то вроде такого запроса:
Код:
SELECT order_id FROM orders WHERE order_id IN (1, 2, 2, 3)


Что бы выдавал такой результат:
Код:
1
2
2
3


как такое сделать?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
gregzem Муж.
новый человек
2
Сообщения: 252
Зарегистрирован: 29.04.03
Сообщение Добавлено: 9 Декабрь 2007, 19:26:33 
...ORDER BY order_id ?
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 10 Декабрь 2007, 01:32:46 
Этот запрос:
Код:
SELECT order_id FROM orders WHERE order_id IN (1, 2, 2, 3)

является тоже самым что этот:
Код:
SELECT order_id FROM orders WHERE order_id IN (1, 2, 3)

Что приведет к одному и тому же результату:
Код:
1
2
3

А мне надо сдублировать строку и получить:
Код:
1
2
2
3

Боюсь что без создания встроенных процедур тут не обойтись.

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Кухан Муж.
соучастник
18
Сообщения: 581
Зарегистрирован: 20.06.05
Откуда: МОСКВА
Сообщение Добавлено: 10 Декабрь 2007, 02:45:37 
а зачем?
Если данные передаются в программу, может проще это реализовать в коде, чем запросом?

_________________
Какая-то реклама — «HTML» вёрстка.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 10 Декабрь 2007, 06:43:10 
Настоящий запрос:
- выдает почтовый адрес для каждого заказа.
- результат экспортируется в CSV файл.
- потом в ворде печатаются наклейки для конвертов.

Иногда надо продублировать адрес для указанных заказов.
Конечно в коде это дело быстро решается, просто хотелось найти решение покрасивее.

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 11 Декабрь 2007, 08:34:55 
А ларчик просто открывался:
Код:
DROP TABLE IF EXISTS tmp;
CREATE TEMPORARY TABLE tmp (order_id INT);
INSERT INTO tmp VALUES (1),(2),(2),(3);

SELECT * FROM orders
INNER JOIN tmp ON tmp.order_id = orders.order_id;

DROP TABLE IF EXISTS tmp;
:)

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 11 Декабрь 2007, 11:04:39 
AlexShop, ты просил покрасивше, а не поизвратнее.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 12 Декабрь 2007, 07:00:02 
Crazy,
Проблема: PL/SQL не поддерживает массивы. Вот и сделал временную таблицу.
Как иначе еще не знаю. :frown:


Crazy писал(а):
AlexShop, ты просил покрасивше, а не поизвратнее.


А мне это показалось элегантным решением :laugh:

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 8 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100