объект 'tuple' не является итератором

Вы можете избавиться от дубликатов с помощью ключевого слова DISTINCT:

SELECT DISTINCT parent FROM Parent parent JOIN parent.child child WHERE ...

EDIT: ключевое слово DISTINCT используется для повторного копирования дубликатов из результатов запроса, независимо от причины существования этих дубликатов. Иногда причиной являются дубликаты записей БД. Но чаще, дубликаты являются следствием JOIN заявлений, поэтому ваш прецедент является полностью законным.

Тем не менее, вы можете избежать явных объединений и ключевого слова DISTINCT, сделав отношение двунаправленным. Затем вы можете использовать неявные соединения посредством навигации:

SELECT parent FROM Parent parent WHERE parent.children...
0
задан redress 7 March 2019 в 01:49
поделиться