长话短说,我正在开发一个应用程序,根据大小、年龄和其他特征,将想要领养狗的人与收容所里可用的狗匹配。
我的查询在使用CASE时遇到了一些问题,例如,下面的代码只是整个代码的一部分,为了简化:
ANI.IS_HOUSE_TRAINED = CASE WHEN APL.DEMANDS_HOUSE_TRAINED = '仅需训练过的' THEN '是' WHEN APL.DEMANDS_HOUSE_TRAINED = '训练不必须' THEN '否' END
上面的代码基本上是说如果申请人要求一个“训练过的狗”,就与“训练过的狗”匹配, 申请人的第二个选择是“训练不必须”,这个人应该与训练过的狗和未训练过的狗都匹配。但是我似乎无法弄清楚如何做到这一点。
我还尝试创建一个如下所示的第三个CASE,但它也不起作用,因为第二个CASE已经匹配了:
ANI.IS_HOUSE_TRAINED = CASE WHEN APL.DEMANDS_HOUSE_TRAINED = '仅需训练过的' THEN '是' WHEN APL.DEMANDS_HOUSE_TRAINED = '训练不必须' THEN '否' WHEN APL.DEMANDS_HOUSE_TRAINED = '训练不必须' THEN '是' END
有谁能帮助我吗? 如何处理有多个可能组合的情况?
这是我对问题的理解: