Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate HqlL:通过包含零进行计数和分组?_Java_Mysql_Sql_Hibernate_Hql - Fatal编程技术网

Java Hibernate HqlL:通过包含零进行计数和分组?

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" 现在我提出这个问题: 我

我有两个表格:索赔和类型索赔。声明在类型“”声明上具有外部密钥。在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"
现在我提出这个问题:

我想得到这个:

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^^