Java Hibernate HqlL:通过包含零进行计数和分组?
我有两个表格:索赔和类型索赔。声明在类型“”声明上具有外部密钥。在Hibernate上,表示声明表的Bean将TypeClaim作为属性Java Hibernate HqlL:通过包含零进行计数和分组?,java,mysql,sql,hibernate,hql,Java,Mysql,Sql,Hibernate,Hql,我有两个表格:索赔和类型索赔。声明在类型“”声明上具有外部密钥。在Hibernate上,表示声明表的Bean将TypeClaim作为属性 Claim ID TYPE 1 2 2 2 3 4 4 1 Type_Claim ID Description 1 "Hello" 2 "Hi" 3 "House" 4 "Welcome" 5 "Bye" 现在我提出这个问题: 我
Claim
ID TYPE
1 2
2 2
3 4
4 1
Type_Claim
ID Description
1 "Hello"
2 "Hi"
3 "House"
4 "Welcome"
5 "Bye"
现在我提出这个问题:
我想得到这个:
Description Count
"Hello" 1
"Hi" 2
"House" 0
"Welcome" 1
"Bye" 0
Description Count
"Hello" 1
"Hi" 2
"Welcome" 1
但我得到的是:
Description Count
"Hello" 1
"Hi" 2
"House" 0
"Welcome" 1
"Bye" 0
Description Count
"Hello" 1
"Hi" 2
"Welcome" 1
如何在查询中包含0结果?我尝试使用RIGHT JOIN,但得到了相同的结果。聚合函数count()不会计算空值,因此会得到零 必须使用左联接而不是左外联接 如果您想了解有关外部联接的更多信息,这里有一个很好的教程:试试这个:
SELECT tc.description, count(cl.type)
FROM type_claim tc
LEFT OUTER JOIN claim cl ON
cl.type = tc.id
GROUP BY tc.description
这对我很有用:
如果您仍然有疑问,请参阅:的可能副本应与右连接一起使用。你能发布生成的SQL吗?是的,昨天我找到了解决方案,我做了一个相同的查询,但是thx^^