В вашем запросе DELETE вы пытаетесь удалить записи из таблицы `joom_user_usergroup_map`, которые не имеют соответствующих записей в таблице `joom_users`. Чтобы запрос работал корректно, я предполагаю, что ваш SELECT запрос выглядит примерно так:
```sql
SELECT *
FROM joom_user_usergroup_map m
WHERE NOT EXISTS (
SELECT * FROM joom_users u WHERE u.id = m.user_id
);
```
Если SELECT запрос работает правильно и возвращает те строки, которые вы хотите удалить, тогда ваш DELETE запрос должен работать так же (с учетом корректной организации JOIN’ов и правильной логике условий). Но возможно, что имеется ограничение внешнего ключа или другая проблема, которая не дает выполнить запрос DELETE.
Одна из возможных причин, по которой DELETE запрос может работать некорректно - более строгие требования MySQL к подзапросам в блоке DELETE, в отличие от блока SELECT. Вы можете попробовать переписать запрос с использованием LEFT JOIN и проверки на NULL, которая будет проверять отсутствие связанных записей в таблице `joom_users`:
```sql
DELETE m
FROM joom_user_usergroup_map m
LEFT JOIN joom_users u ON m.user_id = u.id
WHERE u.id IS NULL;
```
Этот запрос удалит все записи из таблицы `joom_user_usergroup_map`, для которых не найдено соответствие в таблице `joom_users`, что и является вашим условием.
Убедитесь, что перед выполнением запроса DELETE вы имеете backup необходимых данных, так как операция удаления необратима. Также, если ваша таблица использует внешние ключи с каскадным удалением, осторожно используйте DELETE запросы, чтобы не удалить более того, что вы задумывали.