我有以下表格结构。根据请求的类型,我应该能够选择与值匹配的右列。
| resource_id | result | request |
| | 15127 | /campaign/add |
| 15127 | | /campaign/modify |
例如:
如果请求类似于
/campaign/add
,则应将结果与用户发送的号码进行比较,否则应选择资源id。从程序上来说我可以说
if(request.equals())
fetch values from database where resource_id = 15127
else
fetch values from database where resource_id = 15127
现在我需要用数据库做同样的事情。
最佳答案
您可以使用CASE
表达式来执行此操作:
select *
from the_table
where case
when request = '/campaign/add' then result
when request = '/campaign/modify' then resource_id
end = number_sent_by_the_user
关于sql - 有什么办法可以让我在where条件下拥有if-else之类的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42368115/