Essayer de faire fonctionner la HQL suivante avec NHibernate:NHibernate HQL - select count (*) d'avoir - ne peut pas faire fonctionner
select count(distinct t) as TweetCount
from Tweet t
join t.Tweeter u
left join t.Votes v
left join t.Tags tag
where t.App = :app
having count(distinct v) > 0
Mais pour une raison quelconque la clause having est ignorée et qu'il compte tous les tweets lorsque seulement 2 tweets ont un vote. Je veux essentiellement compter le nombre de Tweets qui ont au moins un Vote.
Voici ma base de données
J'ai essayé d'ajouter un groupe par ma requête comme ceci:
select count(distinct t) as TweetCount
from Tweet t
join t.Tweeter u
left join t.Votes v
left join t.Tags tag
where t.App = :app
group by t
having count(distinct v) > 0
... mais il a fini par retourner une collection contenant 2 entiers chacun à « 1 "au lieu d'un résultat unique.
À quoi pensez-vous que le SQL devrait ressembler? Est-il même possible sans sous-requêtes? (mon instinct me dit que ce n'est pas) –
@Diego Mijelshon: Vous avez raison, j'ai essayé d'écrire l'équivalent T-SQL et cela n'a pas fonctionné non plus, j'ai dû écrire une sous-requête. Va poster ma réponse plus tard aujourd'hui. –