Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Форум для новичков[JAVA]/[sql] Просьба помочь с запросом!
Поиск

[sql] Просьба помочь с запросом!

5 ответов160 просмотровСейчас просматривают: 1
F
Foxed

Пользователь

Бывалый

Постов: 168

На форуме с: 03.11.2008

Репутация: +75

Рейтинг: 0

· 17.03.2009, 14:51

Программы: MySQL version 5.0.45

Прошу помочь составить запрос в базу. Сам мучался, к сожалению безуспешно.
Есть таблица items. Структура таблицы:

Код
  `owner_id` int(11) default NULL,
  `object_id` int(11) NOT NULL default '0',
  `item_id` int(11) default NULL,
  `count` int(11) default NULL,
  `enchant_level` int(11) default NULL,
  `loc` varchar(10) default NULL,
  `loc_data` int(11) default NULL,
  `time_of_use` int(11) default NULL,
  `custom_type1` int(11) default '0',
  `custom_type2` int(11) default '0',
  `mana_left` decimal(3,0) NOT NULL default '-1',
  `attributes` varchar(50) default '',

Суть в том, что надо найти в этой таблице строки, где поле `item_id` равно 72004 и 115001.
Далее, в этих строках следует заменить `item_id` на 4257 и `count` на 200, а поле `enchant_level`, если оно больше 12, записать в переменную (x) и вычесть из его значения 10. Потом `enchant_level` приравнивается к нулю, в любом случае. Далее создать копию редактируемой строки с `item_id`=5555 и `count`=x
Очень надеюсь на вашу помощь!
Заранее спасибо!

0
F
Foxed

Пользователь

Бывалый

Постов: 168

На форуме с: 03.11.2008

Репутация: +75

Рейтинг: 0

· 17.03.2009, 17:22

Топик Up. Запрос, конечно, сложный, но я надеюсь (уверен), что на портале имеются знающие люди.

0
Dragon
Dragon

Пользователь

Участник

Постов: 75

На форуме с: 23.05.2007

Репутация: +55

Рейтинг: 0

· 17.03.2009, 18:11

1-найти в этой таблице строки, где поле `item_id` равно 72004 и 115001.
Далее, в этих строках следует заменить `item_id` на 4257


ОТВЕЧАЮ:

UPDATE items set item_id=4257 where item_id=72004;
UPDATE items set item_id=4257 where item_id=115001;

Далее создать копию редактируемой строки с `item_id`=5555 и `count`=x


ОВТЕЧАЮ:
dump database ???? :D Не понял вопроса


поле `enchant_level`, если оно больше 12, записать в переменную (x)


ОТВЕЧАЮ:

UPDATE items set enchant_level=0 where enchant_level > 12;


Если помог тыкай спасибо=)


дальше подобные запросы...

0
F
Foxed

Пользователь

Бывалый

Постов: 168

На форуме с: 03.11.2008

Репутация: +75

Рейтинг: 0

· 17.03.2009, 18:16

Dragon: 1-найти в этой таблице строки, где поле `item_id` равно 72004 и 115001.
Далее, в этих строках следует заменить `item_id` на 4257


ОТВЕЧАЮ:

UPDATE items set item_id=4257 where item_id=72004;
UPDATE items set item_id=4257 where item_id=115001;

Далее создать копию редактируемой строки с `item_id`=5555 и `count`=x


ОВТЕЧАЮ:
dump database ???? :D Не понял вопроса


поле `enchant_level`, если оно больше 12, записать в переменную (x)


ОТВЕЧАЮ:

UPDATE items set enchant_level=0 where enchant_level > 12;


Если помог тыкай спасибо=)


дальше подобные запросы...

Этакая извро-версия данного запроса. Все дело какраз в переменной, которая зжесь отсутствует.

0
Dragon
Dragon

Пользователь

Участник

Постов: 75

На форуме с: 23.05.2007

Репутация: +55

Рейтинг: 0

· 17.03.2009, 18:21

Далее, в этих строках следует заменить `item_id` на 4257 и `count` на 200,

Отвечаю(ПОПРАВИЛ)

UPDATE items set count=200 where item_id=4257;

может я не силён в SQL, но про кешированую переменую оО фак мой мозг я пошол тоды читать мануалы=)

0
Войдите или зарегистрируйтесь чтобы ответить