Примерный вид строк в таблице такой:
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й таблице.
))) или те скрипт конкретно
1) достал значение count из первой таблици
2) взял это значение за переменнцю цикла например for
3) создал новую запись во 2й таблице.
))) или те скрипт конкретно
Спустя 4 минуты, 44 секунды (2.11.2011 - 21:41) Pulse написал(а):
Мне конкретно надо запросом mysql, без скриптов php. С php тут задача тривиальная
Спустя 1 минута, 16 секунд (2.11.2011 - 21:42) v.ru.n32 написал(а):
ну тут я не в курсе. поверхносно знаю sql.
да пока ответ услышишь ужеб набрал скрипт на php.
да пока ответ услышишь ужеб набрал скрипт на php.
Спустя 1 минута, 23 секунды (2.11.2011 - 21:44) Pulse написал(а):
Я скорее с точки зрения образовательных целей интересуюсь, нежели решения задачи
Спустя 8 минут, 30 секунд (2.11.2011 - 21:52) v.ru.n32 написал(а):
ясно, попробуй книгу в интернете найти по SQL и по оглавнению почитай, может найдешь что нить похожее иногда прокатывает ) ну я так делал ) больше ничем помоч немогу.
Спустя 1 час, 9 секунд (2.11.2011 - 22:52) imbalance_hero написал(а):
Pulse
Зачем нагружать БД сложным мега-запросом. Сделал выборку в ПХП, отсортировал и сформировал данные, как тебе надо, потом добавил в новую таблицу.
Хотя можешь попробовать так:
Получишь записи, далее while и добавления записей.
Зачем нагружать БД сложным мега-запросом. Сделал выборку в ПХП, отсортировал и сформировал данные, как тебе надо, потом добавил в новую таблицу.
Хотя можешь попробовать так:
SELECT `name`,COUNT(*)
FROM `table1`
GROUP BY `name`
Получишь записи, далее while и добавления записей.
Спустя 24 минуты, 27 секунд (2.11.2011 - 23:17) Pulse написал(а):
imbalance_hero
Да ты прав, наверное не стоит усилий такой кастыль, просто думал может не дочитался чего в мане по mysql.
Да ты прав, наверное не стоит усилий такой кастыль, просто думал может не дочитался чего в мане по mysql.
Спустя 18 минут, 33 секунды (2.11.2011 - 23:35) Семён написал(а):
Оторвать руки за такой быдлокод!
Спустя 31 минута, 42 секунды (3.11.2011 - 00:07) imbalance_hero написал(а):
Семён
А тебе лишь бы что-нибудь оторвать...
А тебе лишь бы что-нибудь оторвать...