[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создать новую таблицу на основе старой
Pulse
Есть таблица `first` в бд с полями `id`, `name`, `count`.
Примерный вид строк в таблице такой:

id name count
1 one 2
2
second 1
3
third 3

Требуется сделать новую таблицу `new` на основе `first` вида:

id name
1 one
1 one
2 second
3 third
3 third
3 third

Т.е. там, где в старой таблице поле `count` больше одного, требуется сделать несколько строк, в зависимости от значения поля `count`.
Понимаю как сделать при помощи php и циклов, но одним запросом через mysql не в курсе. Есть ли в mysql циклы для таких задач?



Спустя 5 минут, 53 секунды (2.11.2011 - 21:36) v.ru.n32 написал(а):
ну дык пиши скрипт.
1) достал значение count из первой таблици
2) взял это значение за переменнцю цикла например for
3) создал новую запись во 2й таблице.

))) или те скрипт конкретно

Спустя 4 минуты, 44 секунды (2.11.2011 - 21:41) Pulse написал(а):
Мне конкретно надо запросом mysql, без скриптов php. С php тут задача тривиальная tongue.gif

Спустя 1 минута, 16 секунд (2.11.2011 - 21:42) v.ru.n32 написал(а):
ну тут я не в курсе. поверхносно знаю sql.

да пока ответ услышишь ужеб набрал скрипт на php.

Спустя 1 минута, 23 секунды (2.11.2011 - 21:44) Pulse написал(а):
Я скорее с точки зрения образовательных целей интересуюсь, нежели решения задачи smile.gif

Спустя 8 минут, 30 секунд (2.11.2011 - 21:52) v.ru.n32 написал(а):
ясно, попробуй книгу в интернете найти по SQL и по оглавнению почитай, может найдешь что нить похожее иногда прокатывает ) ну я так делал ) больше ничем помоч немогу.

Спустя 1 час, 9 секунд (2.11.2011 - 22:52) imbalance_hero написал(а):
Pulse
Зачем нагружать БД сложным мега-запросом. Сделал выборку в ПХП, отсортировал и сформировал данные, как тебе надо, потом добавил в новую таблицу.
Хотя можешь попробовать так:
    SELECT `name`,COUNT(*)
FROM `table1`
GROUP BY `name`

Получишь записи, далее while и добавления записей.

Спустя 24 минуты, 27 секунд (2.11.2011 - 23:17) Pulse написал(а):
imbalance_hero
Да ты прав, наверное не стоит усилий такой кастыль, просто думал может не дочитался чего в мане по mysql.

Спустя 18 минут, 33 секунды (2.11.2011 - 23:35) Семён написал(а):
Оторвать руки за такой быдлокод!

Спустя 31 минута, 42 секунды (3.11.2011 - 00:07) imbalance_hero написал(а):
Семён
А тебе лишь бы что-нибудь оторвать... smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.