سؤال

i got 2 Entities (ModTopScope and ModInstallResults) with One-to-Many relations

and NamedQuery:

@NamedQuery(name="ModTopScope.getScopesForActiveSystems", 
        query="SELECT s, COUNT(s.modInstallResults) FROM ModTopScope s LEFT JOIN FETCH s.modInstallResults " +
                "WHERE s.modScopeType.modSystem.activated = true " +
                "GROUP BY s " +
                "ORDER BY COUNT(s.modInstallResults) DESC")

It is ok, except there are no records in query result list for ModTopScope, which have no corresponding records in ModInstallResults table. How can i fix it ?

The native sql, that selects records, which have no corresponding records in mod_install_resutls table:

select  s.id, count(i.id) from mod_top_scopes s left join mod_install_results i on s.id=i.scope_id group by s.id order by count(i.id)
هل كانت مفيدة؟

المحلول

OK, finally i wrote the correct querym i wrote comment,

SELECT DISTINCT s, COUNT(i) FROM ModTopScope s LEFT JOIN s.modInstallResults i " + "WHERE s.modScopeType.modSystem.activated = true " + "GROUP BY s " + "ORDER BY COUNT(i) DESC

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top