Phone_book
+----+---------+-----------+--------------+
| id | key     | code      |    value     |
+----+---------+-----------+--------------+
| 1  | MAX_VAL | 111       |    reset     |
+----+------+--------------+--------------+
| 2  | MIN_VAL | 222       |    set       |
+----+------+--------------+--------------+
| 3  | MIN_VAL | 0         |    NA        |
+----+---------+-----------+--------------+键和代码组合是主键。
要求:
如果存在键和代码,则返回值。
如果存在键,而代码不存在,则返回代码0的值。
Implementation:
通过使用多个查询实现了这一点。用于JPQL的语法
1) "SELECT param FROM Phone_book param WHERE upper(key)=:paramKey AND code=:estCode";
如果这返回null,则拍摄另一个查询。
2) "SELECT param FROM Phone_book param WHERE upper(key)=:paramKey AND code=:O";
我要找的东西:
我可以通过一个查询或更好的方法来实现这一点吗?
提前谢谢。
发布于 2016-08-24 08:03:35
select 
case 
   when key is not null and code is not null then value
   when key is not null and code is null then 0
end 
from phone_book;https://stackoverflow.com/questions/39114937
复制相似问题