Перейти к содержанию
Авторизация  
Xample

Помогите Написать Sql Запрос

Рекомендуемые сообщения

Задача такова: нужно заменить предмет и количество макс дропа в таблице droplist у определённых мобов, а именно всех рб ниже 60лвл.

Вот приблезительно написал, но не фурычит:

 UPDATE `droplist` SET `itemId`='4357',`max`='10' FROM `npc` WHERE type='L2RaidBoss' AND `level`<60; 

 

 

До этого я юзнул запрос по добавлению предмета ко всем рб (сработал):

 

 

INSERT INTO `droplist` (mobId, itemId, min, max, category, chance) SELECT id, 4356, 1, 10, 0, 900000 FROM `npc` WHERE type = 'L2RaidBoss';

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такой запрос у Вас гибридный... Не сразу сообразишь, как хотите две таблицы совместить)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такой запрос у Вас гибридный... Не сразу сообразишь, как хотите две таблицы совместить)))

Ну во втором запросе же берёт из таблицы FROM `npc` type = 'L2RaidBoss'

 

 

а в первом запросе мне нужно заменить itemId в `droplist` , а у кого заменивать также спрашивать из таблицы `npc`

Изменено пользователем Xample

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

update droplist set item_id='4357', max='10' where mobid in(select id from npc where type='l2raidboss' and level<60);

 

впринципе написал уже сам такой же запрос по этому примеру:

Изменяем цвет имя Лорда определенного замка (Скобки обязательны)
UPDATE characters SET name_color="Код Цвета" WHERE obj_id IN (SELECT leader_id FROM clan_data WHERE hasCastle="Castle_ID");

 

 

 

но выдаёт вот что:

mysql> update droplist set itemid='4357', max='10' where mobid in(select id from npc where type='l2raidboss' and level<60);
ERROR 1062 : Duplicate entry '18554-4357-0' for key 'PRIMARY'
mysql>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чёт так и не получается с UPDATE, ладно хрен сним. сделал вот так:

DELETE FROM droplist WHERE itemId='4356';
INSERT INTO `droplist` SELECT id, 4357, 1, 5, 0, 900000 FROM `npc` WHERE type = 'L2RaidBoss' and level<60;
INSERT INTO `droplist` SELECT id, 4356, 1, 2, 0, 900000 FROM `npc` WHERE type = 'L2RaidBoss' and level>60;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...