Hibernate hql CASE语句从查询中排除数据
我在hql中有此查询: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
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。因为我需要检查发射是否为空,然后检查发射区域是否为空