diff --git a/zone/bot_database.cpp b/zone/bot_database.cpp index 0fade9c9d..300f4c8b4 100644 --- a/zone/bot_database.cpp +++ b/zone/bot_database.cpp @@ -2390,21 +2390,33 @@ bool BotDatabase::LoadBotGroupsListByOwnerID(const uint32 owner_id, std::list& group_list) { if (!group_id) return false; query = StringFormat( - "SELECT g.`mob_id` AS bot_id" - " FROM `vw_groups` AS g" - " JOIN `bot_data` AS b" - " ON g.`mob_id` = b.`bot_id`" - " AND g.`mob_type` = 'B'" - " WHERE g.`group_id` = '%u'", + "SELECT `charid`" + " FROM `group_id`" + " WHERE `groupid` = '%u'" + " AND `charid` IN (" + " SELECT `bot_id`" + " FROM `bot_data`" + " WHERE `owner_id` IN (" + " SELECT `charid`" + " FROM `group_id`" + " WHERE `groupid` = '%u'" + " AND `name` IN (" + " SELECT `name`" + " FROM `character_data`" + " )" + " )" + " )", + group_id, group_id ); + auto results = QueryDatabase(query); if (!results.Success()) return false;