我的表结构如下。根据请求的类型,我应该能够选择合适的列来匹配值。
| resource_id | result | request |
| | 15127 | /campaign/add |
| 15127 | | /campaign/modify |例如:
如果请求类似于/campaign/add,则应该将结果与用户发送的数字进行比较,否则应该选择resource_id。
从程序上讲我可以说
if(request.equals())
fetch values from database where resource_id = 15127
else
fetch values from database where resource_id = 15127现在我需要使用数据库做同样的事情。
发布于 2017-02-21 13:07:28
您可以使用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发布于 2017-02-21 13:06:54
这是你想要的吗?
where (request like '/campaign/add%' and result = $user_Input) or
(request like '/campaign/modify%' and resource_id = $user_Input) https://stackoverflow.com/questions/42368115
复制相似问题