Azerothcore Innerjoin 3 таблицы, чтобы получить результаты с помощью QuestLevel и Map - PullRequest
1 голос
/ 19 апреля 2020

Я пытаюсь сделать внутреннее соединение, чтобы получить квесты от quest_template на основе карты и уровня. Затем обновите их до нового уровня. Я использую следующие запросы, и они меняются, но когда я делаю выбор, чтобы увидеть результаты изменений, обе карты показывают одинаковые результаты, и это ломает игровые квесты.

UPDATE quest_template
INNER JOIN creature_queststarter ON quest_template.ID = creature_queststarter.quest
INNER JOIN creature ON creature_queststarter.id = creature.id
SET QuestLevel = '1'
WHERE QuestLevel = '69' AND map = '571';

Затем см. результаты

SELECT quest_template.ID
FROM quest_template
INNER JOIN creature_queststarter ON quest_template.ID = creature_queststarter.quest
INNER JOIN creature ON creature_queststarter.id = creature.id
WHERE QuestLevel = '1' AND map = '571';

Когда я ищу результаты выбора с картой 571 или 530, я получаю те же идентификаторы квеста, что и мои результаты, показывающие, что они не работают должным образом, и его разрушающие квесты в игре, которых нет на карте. 530 и 571

"map" column is in "creature" table which provides a creature.id
creature.id = creature_queststarter.id
creature_queststarter_quest = quest_template.id
...