j'obtenir le résultat souhaité iciJPQL: SELECT b, compter (ts) de branche b REJOIGNEZ b.tourScheduleList OÙ ts.deleted = 0
SELECT b, count(ts) FROM Branch b JOIN b.tourScheduleList ts WHERE ts.deleted = 0 GROUP BY b.id ORDER BY b.name ASC
b1 | 2
b2 | 1
mais je dois obtenir le nombre de ts.tourAppliedList
donc je mis à jour la requête à
SELECT b, count(ts), count(ta) FROM Branch b JOIN b.tourScheduleList ts JOIN ts.tourAppliedList ta WHERE ts.deleted = 0 GROUP BY b.id ORDER BY b.name ASC
qui a donné lieu à
b1 | 3 | 3
b2 | 2 | 2
le résultat est erroné. Je ne sais pas pourquoi count(ts)
est égal à count(ta)
J'ai essayé de revenir ts
alors faites juste un nombre plus tard, mais il est de retour tout son contenu sans tenir compte du ts.deleted = 0
SELECT b, ts FROM Branch b JOIN b.tourScheduleList ts WHERE ts.deleted = 0 GROUP BY b.id ORDER BY b.name ASC
alors dans la vue que je viens #{item.ts.tourAppliedList.size()}
c'est sans tenir compte du ts.deleted = 0
ouais, mon attente était fausse. je devais faire une sous-requête –