Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2009, 15:02   #1
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию MySQL запрос создать 5.1

images(id, parent, showorder)

сейчас в базе в поля showorder записаны какие попало значение.
Хочу прогнать запрос чтобы эти значения записать от 1 до ...

чтобы создать такого типа значения:
например для всех элементов с parent=2 пронумеровать showorder
Код:
id  parent  showorder
         2           1
         2           2
         2           3
         2           4
................................
короче тупо пронумеровать нужно ...
в один запрос можно это создать? и как?

Последний раз редактировалось iankov; 23.07.2009 в 15:19.
iankov вне форума Ответить с цитированием
Старый 23.07.2009, 17:29   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

знаю как на лету им проставить номера для вывода
Код:
select
  id,
  parent,
  row_number() over(/*partition by parent*/ order by parent) showorder
from images i
и то - если вам доступна такая фича как row_number()
закомментаренный кусок можно использовать для всего диапазона значений по полю parent

а вот отапдейтить только через скрипт/процедуру

Последний раз редактировалось soleil@mmc; 23.07.2009 в 17:33.
soleil@mmc вне форума Ответить с цитированием
Старый 23.07.2009, 20:06   #3
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

Короче на пхп сделал, выглядит это так:

Код:
	$result = mysql_query("SELECT id FROM images WHERE parentid='2' ORDER BY id DESC");
	$i = 1;
	while($row = mysql_fetch_assoc($result)){
		mysql_query("UPDATE images SET showorder = '$i' WHERE id = '$row[id]'");
		$i++;
	}
А вот можно ли это сделать было запросом одним - под вопросом.
iankov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос mysql - создать массив на лету. iankov SQL, базы данных 0 24.01.2009 12:01
Создать запрос mysql iankov SQL, базы данных 4 17.01.2009 15:36
Помогите создать запрос mysql iankov SQL, базы данных 7 07.01.2009 17:34
Запрос в MySQL MasterofCDM БД в Delphi 5 03.12.2008 16:58
запрос к mysql wall66 PHP 6 03.11.2008 22:49