Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
Hibernate hql CASE语句从查询中排除数据_Hibernate_Hql_Case When - Fatal编程技术网

Hibernate hql CASE语句从查询中排除数据

Hibernate hql CASE语句从查询中排除数据,hibernate,hql,case-when,Hibernate,Hql,Case When,我在hql中有此查询: SELECT d.code as row1, d.name as row2, d.contractor.name as row3, case when e is null then 'no emission' else case when e.zone is null then 'no coverage' else e.zone.name end end

我在hql中有此查询:

SELECT d.code as row1, d.name as row2, d.contractor.name as row3, 
        case when e is null then 'no emission'
            else case when e.zone is null then 'no coverage' 
                else e.zone.name 
            end
        end
FROM Design d
    left join d.emissions e
WHERE (d.code =:codeParam or :codeParam = null)
    and (d.contractor =:contracParam or :contracParam = null)
我想列出每一个设计,即使它没有发射或发射它没有一个区域。如果我这样做:

case when e is null then 'no emission'
     else 'emission'
end
每个设计都正确列出,但当我在中添加第二个案例时,它只列出带区域的设计


我做错了什么?如果你需要更多的信息,请告诉我。我们将非常感谢您提供的任何帮助

您应该遵循以下结构:

case
   when ... then
   when ... then
   else ...
end

阅读更多信息。

这给了我与现在相同的结果。。。我需要的是在另一个if中加入if。因为我需要检查发射是否为空,然后检查发射区域是否为空