|
Архив - только для чтения |
| Модератор форума: andycrowz |
| Форум Корзина форума Корзина Массовый запрос на добавление шмота в вендор |
| Массовый запрос на добавление шмота в вендор |
Доброго времени суток, знатаки)
Вообщем, нужно запихнуть в 1 вендора много итемов, которые отвечают некоторым условиям(тип предмета, итем левел). Но проблема в том, что я не знаю, как сделать такой запрос, где будет несколько условий. Просьба помочь мне в этом деле Заранее спасибо.
Сообщение # 1 написано 04.06.2014 в 16:58
|
Пробуй:
Код SET @VID = id вендора; SET @ILVL = уровень предмета; SET @CLASS = класс предмета; // [http://collab.kpsn.org/display/tc/Item+template+tc2#Itemtemplatetc2-class], я больше и придумать не смог, что значит "тип предмета" REPLACE INTO `npc_vendor` (entry, item, maxcount, incrtime, ExtendedCost) VALUES (@VID, (SELECT `entry` FROM `item_template` WHERE `ItemLevel`=@ILVL AND `class`=@CLASS), 0, 0, 0); |
staford11, спасибо большое, выручил. Но есть еще 1 вопрос. Если я хоу указать диапозон уровня предмета, мне нужно указывать сначала, что уровень предмета больше одного значения, и второй раз, что меньше другого значения?
И еще, если я хочу указать субкласс, я просто допишу еще одно условие с субклассом, так? |
Если я хоу указать диапозон уровня предмета, мне нужно указывать сначала, что уровень предмета больше одного значения, и второй раз, что меньше другого значения? Можно так: Код WHERE `ItemLevel` BETWEEN мин AND макс И еще, если я хочу указать субкласс, я просто допишу еще одно условие с субклассом, так? Да, и AND не забудь.
Сообщение # 4 написано 04.06.2014 в 18:28
|
staford11, проблемка)
Вот составил я запрос: Однако при заливке выдается ошибка: |
Переведешь, поймешь.
Что вложенный запрос, возвращает несколько данных. А тебе необходимо только 1. + у тебя ошибка в коде, не те ковычки стоят на subclass, необходимо так: `subclass` у тебя так: 'subclass' Код REPLACE INTO `npc_vendor` (entry, item, maxcount, incrtime, ExtendedCost) VALUES (1000000, (SELECT `entry` FROM `item_template` WHERE `class`=4 AND `subclass`=6 AND `ItemLevel` BETWEEN 220 AND 240) , 0, 0, 0); Попробуй так
[blizz]Судить меня дано лишь богу, другим я укажу дорогу
[/blizz]
|
Цитата DELETE FROM `npc_vendor` WHERE (`entry`=айдипродавца); INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) VALUES (айдипродавца, 0, айдиитема, 0, 0, 2412), (айдипродавца, 0, айдиитема, 0, 0, 2412), (айдипродавца, 0, айдиитема, 0, 0, 2412), (айдипродавца, 0, айдиитема, 0, 0, 2412), (айдипродавца, 0, айдиитема, 0, 0, 2412), (айдипродавца, 0, айдиитема, 0, 0, 2412), (айдипродавца, 0, айдиитема, 0, 0, 2408), (айдипродавца, 0, айдиитема, 0, 0, 2409), (айдипродавца, 0, айдиитема, 0, 0, 2411); Думаю, подойдёт тебе, с тебя +, если помог.
Насколько ты человек?
|
| |||
| |||
[/blizz]