Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравтсвуйте ... Нужна помощ в написании запроса который выберит нужные элементы из первой таблицы, и автоматически пропишет их во вторую.
Существует 2 таблицы: npc_vendor и item_template
(Для того чтобы показать их полную структуру, выложу лучше это всё кодом)
-- ---------------------------- -- Table structure for npc_vendor -- ---------------------------- CREATE TABLE `npc_vendor` ( `entry` mediumint(8) unsigned NOT NULL default '0', `slot` smallint(6) NOT NULL default '0', `item` mediumint(8) NOT NULL default '0', `maxcount` tinyint(3) unsigned NOT NULL default '0', `incrtime` int(10) unsigned NOT NULL default '0', `ExtendedCost` mediumint(8) unsigned NOT NULL default '0', PRIMARY KEY (`entry`,`item`,`ExtendedCost`), KEY `slot` (`slot`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Npc System';
-- ---------------------------- -- Table structure for item_template -- ---------------------------- CREATE TABLE `item_template` ( `entry` mediumint(8) unsigned NOT NULL default '0', `class` tinyint(3) unsigned NOT NULL default '0', `subclass` tinyint(3) unsigned NOT NULL default '0', `unk0` int(11) NOT NULL default '-1', `name` varchar(255) NOT NULL default '', `displayid` mediumint(8) unsigned NOT NULL default '0', `Quality` tinyint(3) unsigned NOT NULL default '0', `Flags` bigint(20) NOT NULL default '0', `FlagsExtra` int(10) unsigned NOT NULL default '0', `BuyCount` tinyint(3) unsigned NOT NULL default '1', `BuyPrice` bigint(20) NOT NULL default '0', `SellPrice` int(10) unsigned NOT NULL default '0', `InventoryType` tinyint(3) unsigned NOT NULL default '0', `AllowableClass` int(11) NOT NULL default '-1', `AllowableRace` int(11) NOT NULL default '-1', `ItemLevel` smallint(5) unsigned NOT NULL default '0', `RequiredLevel` tinyint(3) unsigned NOT NULL default '0', `RequiredSkill` smallint(5) unsigned NOT NULL default '0', `RequiredSkillRank` smallint(5) unsigned NOT NULL default '0', `requiredspell` mediumint(8) unsigned NOT NULL default '0', `requiredhonorrank` mediumint(8) unsigned NOT NULL default '0', `RequiredCityRank` mediumint(8) unsigned NOT NULL default '0', `RequiredReputationFaction` smallint(5) unsigned NOT NULL default '0', `RequiredReputationRank` smallint(5) unsigned NOT NULL default '0', `maxcount` int(11) NOT NULL default '0', `stackable` int(11) default '1', `ContainerSlots` tinyint(3) unsigned NOT NULL default '0', `StatsCount` tinyint(3) unsigned NOT NULL default '0', `stat_type1` tinyint(3) unsigned NOT NULL default '0', `stat_value1` smallint(6) NOT NULL default '0', `stat_type2` tinyint(3) unsigned NOT NULL default '0', `stat_value2` smallint(6) NOT NULL default '0', `stat_type3` tinyint(3) unsigned NOT NULL default '0', `stat_value3` smallint(6) NOT NULL default '0', `stat_type4` tinyint(3) unsigned NOT NULL default '0', `stat_value4` smallint(6) NOT NULL default '0', `stat_type5` tinyint(3) unsigned NOT NULL default '0', `stat_value5` smallint(6) NOT NULL default '0', `stat_type6` tinyint(3) unsigned NOT NULL default '0', `stat_value6` smallint(6) NOT NULL default '0', `stat_type7` tinyint(3) unsigned NOT NULL default '0', `stat_value7` smallint(6) NOT NULL default '0', `stat_type8` tinyint(3) unsigned NOT NULL default '0', `stat_value8` smallint(6) NOT NULL default '0', `stat_type9` tinyint(3) unsigned NOT NULL default '0', `stat_value9` smallint(6) NOT NULL default '0', `stat_type10` tinyint(3) unsigned NOT NULL default '0', `stat_value10` smallint(6) NOT NULL default '0', `ScalingStatDistribution` smallint(6) NOT NULL default '0', `ScalingStatValue` int(6) unsigned NOT NULL default '0', `dmg_min1` float NOT NULL default '0', `dmg_max1` float NOT NULL default '0', `dmg_type1` tinyint(3) unsigned NOT NULL default '0', `dmg_min2` float NOT NULL default '0', `dmg_max2` float NOT NULL default '0', `dmg_type2` tinyint(3) unsigned NOT NULL default '0', `armor` smallint(5) unsigned NOT NULL default '0', `holy_res` tinyint(3) unsigned NOT NULL default '0', `fire_res` tinyint(3) unsigned NOT NULL default '0', `nature_res` tinyint(3) unsigned NOT NULL default '0', `frost_res` tinyint(3) unsigned NOT NULL default '0', `shadow_res` tinyint(3) unsigned NOT NULL default '0', `arcane_res` tinyint(3) unsigned NOT NULL default '0', `delay` smallint(5) unsigned NOT NULL default '1000', `ammo_type` tinyint(3) unsigned NOT NULL default '0', `RangedModRange` float NOT NULL default '0', `spellid_1` mediumint(8) NOT NULL default '0', `spelltrigger_1` tinyint(3) unsigned NOT NULL default '0', `spellcharges_1` smallint(4) default NULL, `spellppmRate_1` float NOT NULL default '0', `spellcooldown_1` int(11) NOT NULL default '-1', `spellcategory_1` smallint(5) unsigned NOT NULL default '0', `spellcategorycooldown_1` int(11) NOT NULL default '-1', `spellid_2` mediumint(8) NOT NULL default '0', `spelltrigger_2` tinyint(3) unsigned NOT NULL default '0', `spellcharges_2` smallint(4) default NULL, `spellppmRate_2` float NOT NULL default '0', `spellcooldown_2` int(11) NOT NULL default '-1', `spellcategory_2` smallint(5) unsigned NOT NULL default '0', `spellcategorycooldown_2` int(11) NOT NULL default '-1', `spellid_3` mediumint(8) NOT NULL default '0', `spelltrigger_3` tinyint(3) unsigned NOT NULL default '0', `spellcharges_3` smallint(4) default NULL, `spellppmRate_3` float NOT NULL default '0', `spellcooldown_3` int(11) NOT NULL default '-1', `spellcategory_3` smallint(5) unsigned NOT NULL default '0', `spellcategorycooldown_3` int(11) NOT NULL default '-1', `spellid_4` mediumint(8) NOT NULL default '0', `spelltrigger_4` tinyint(3) unsigned NOT NULL default '0', `spellcharges_4` smallint(4) default NULL, `spellppmRate_4` float NOT NULL default '0', `spellcooldown_4` int(11) NOT NULL default '-1', `spellcategory_4` smallint(5) unsigned NOT NULL default '0', `spellcategorycooldown_4` int(11) NOT NULL default '-1', `spellid_5` mediumint(8) NOT NULL default '0', `spelltrigger_5` tinyint(3) unsigned NOT NULL default '0', `spellcharges_5` smallint(4) default NULL, `spellppmRate_5` float NOT NULL default '0', `spellcooldown_5` int(11) NOT NULL default '-1', `spellcategory_5` smallint(5) unsigned NOT NULL default '0', `spellcategorycooldown_5` int(11) NOT NULL default '-1', `bonding` tinyint(3) unsigned NOT NULL default '0', `description` varchar(255) NOT NULL default '', `PageText` mediumint(8) unsigned NOT NULL default '0', `LanguageID` tinyint(3) unsigned NOT NULL default '0', `PageMaterial` tinyint(3) unsigned NOT NULL default '0', `startquest` mediumint(8) unsigned NOT NULL default '0', `lockid` mediumint(8) unsigned NOT NULL default '0', `Material` tinyint(4) NOT NULL default '0', `sheath` tinyint(3) unsigned NOT NULL default '0', `RandomProperty` mediumint(8) NOT NULL default '0', `RandomSuffix` mediumint(8) unsigned NOT NULL default '0', `block` mediumint(8) unsigned NOT NULL default '0', `itemset` mediumint(8) unsigned NOT NULL default '0', `MaxDurability` smallint(5) unsigned NOT NULL default '0', `area` mediumint(8) unsigned NOT NULL default '0', `Map` smallint(6) NOT NULL default '0', `BagFamily` mediumint(9) NOT NULL default '0', `TotemCategory` mediumint(9) NOT NULL default '0', `socketColor_1` tinyint(4) NOT NULL default '0', `socketContent_1` mediumint(9) NOT NULL default '0', `socketColor_2` tinyint(4) NOT NULL default '0', `socketContent_2` mediumint(9) NOT NULL default '0', `socketColor_3` tinyint(4) NOT NULL default '0', `socketContent_3` mediumint(9) NOT NULL default '0', `socketBonus` mediumint(9) NOT NULL default '0', `GemProperties` mediumint(9) NOT NULL default '0', `RequiredDisenchantSkill` smallint(6) NOT NULL default '-1', `ArmorDamageModifier` float NOT NULL default '0', `Duration` int(11) NOT NULL default '0' COMMENT 'Duration in seconds. Negative value means realtime, postive value ingame time', `ItemLimitCategory` smallint(6) NOT NULL default '0', `HolidayId` int(11) unsigned NOT NULL default '0', `ScriptName` varchar(64) NOT NULL default '', `DisenchantID` mediumint(8) unsigned NOT NULL default '0', `FoodType` tinyint(3) unsigned NOT NULL default '0', `minMoneyLoot` int(10) unsigned NOT NULL default '0', `maxMoneyLoot` int(10) unsigned NOT NULL default '0', `WDBVerified` smallint(5) default '1', PRIMARY KEY (`entry`), KEY `idx_name` (`name`), KEY `items_index` (`class`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Item System';
Нужно сделать следующее:
Все данные из таблицы item_template где Столбцы: ItemLevel <=238 и class = 4 и subclass = 3
поместить в таблицу npc_vendor
при этом столбец 'entry' в item_template равен столбцу 'item' в npc_vendor
остальные стобцы в npc_vendor такие как 'entry' 'slot' 'maxcount' 'incrtime' 'ExtendedSost' оставить по умолчанию, тоисть = 0
Неактивен
INSERT INTO npc_vendor (список полей вендора)
SELECT список полей шаблона FROM item_template
WHERE ItemLevel <=238 AND class = 4 AND subclass = 3
В списках поля нужно перечислять через запятую.
Неактивен
INSERT INTO npc_vendor (список полей вендора)
SELECT список полей шаблона FROM item_template
WHERE ItemLevel <=238 AND class = 4 AND subclass = 3
в списке полей вендора нужно перечислить все имеющиеся поля, а в списках полей шаблона нужно перечислить те которые меня интерисуют для переноса?
Неактивен
blade.kr написал:
в списке полей вендора нужно перечислить все имеющиеся поля
нет, такие как 'entry' 'slot' 'maxcount' 'incrtime' 'ExtendedSost', оставляемые по умолчанию, перечислять не надо
blade.kr написал:
а в списках полей шаблона нужно перечислить те которые меня интерисуют для переноса?
да
Неактивен
Если чесно немного запутался, но все мы сдесь для того чтобы учится ...
По моим предположением, это выглядит вот так:
INSERT INTO npc_vendor (entry, item)
SELECT entry, ItemLevel FROM item_template
WHERE ItemLevel <= 238 AND class = 4 AND subclass = 3;
?!
Неактивен
От я идиот(не мат) ... всё, спасибо большое тому кто помог мне разобратся в этом ...
Запрос должен выглядеть следующим образом
INSERT INTO npc_vendor (item) SELECT entry FROM item_template WHERE ItemLevel <=238 AND class = 4 AND subclass = 3;
Запрос работает... Еще раз огромное всем спасибо
Отредактированно blade.kr (26.10.2010 18:27:40)
Неактивен
Страниц: 1