Я не уверен, где подзапросы разрешены в JPQL, но ваш запрос:
SELECT kinder.kindID, kinder.kindName, kinder.kindVorname
FROM kinder
INNER JOIN
( SELECT kindName
FROM kinder
GROUP BY kindName
HAVING count(kindID) > 1
) dup
ON kinder.kindName = dup.kindName
ORDER BY kinder.kindName
также может быть записано (кроме IN
) с использованием EXISTS
:
SELECT k.kindID, k.kindName, k.kindVorname
FROM kinder k
WHERE EXISTS
( SELECT *
FROM kinder k2
WHERE k2.kindName = k.kindName
AND k2.kindID <> k.kindID
)
ORDER BY k.kindName
или используя ANY
:
SELECT k.kindID, k.kindName, k.kindVorname
FROM kinder k
WHERE k.kindID <> ANY
( SELECT k2.kindID
FROM kinder k2
WHERE k2.kindName = k.kindName
)
ORDER BY k.kindName