Итак, у меня есть метод, который проходит через моих пользователей и находит, где одинаковые идентификаторы. Затем он добавляет этих пользователей в массив. У меня есть он, поэтому он найдет всех пользователей с одинаковыми идентификаторами. Не нужно уточнять поиск, где идентификаторы одинаковы. И учетные записи действительны. (Если счета все остальное (деактивируется, аннулировано, тайм-аут, вн), то не его проблема, так что я не нужно искать их.Список и поиск
Это то, что работает
static List<Users> getAllWithDuplicateIDs() {
findAll('from User where id in (select id from User group by id having count(*) > 1)', [])
}
это то, что я 'м пытаясь
findAll('FROM User WHERE id IN (SELECT id FROM User group by id having count(*) > 1) AND accountStatus = 'valid' ', [])
ошибка Im получение:.
User.groovy: 32: неожиданный маркер: действующий @ строка 32, столбец 122. (*)> 1) И accountStatus = 'действует'' , ^
Любая помощь/мнений/высоко оценили
Спасибо!
Зачем? Используйте escape-символы для 'valid' как '\ 'valid \''. – dmahapatro
findAll («FROM User WHERE id IN (SELECT id FROM) Группа пользователей по идентификатору, имеющему счетчик (*)> 1) И accountStatus = 'valid'", []) – maszter
Исключением является жалоба на "valid", потому что вы запрашиваете строку string раньше, чем вы думали. Используйте escape-символ, т. Е. '\ 'Valid \'', чтобы увидеть, работает ли он. – Faraway