搜索

首页  >  问答  >  正文

重写后的标题为:如何使用SQL查询匹配两个属性并获取多个结果?

长话短说,我正在开发一个应用程序,根据大小、年龄和其他特征,将想要领养狗的人与收容所里可用的狗匹配。

我的查询在使用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

有谁能帮助我吗? 如何处理有多个可能组合的情况?

P粉659518294P粉659518294440 天前642

全部回复(1)我来回复

  • P粉068174996

    P粉0681749962023-09-13 00:38:33

    这是我对问题的理解:

    ANI.IS_HOUSE_TRAINED = 
          CASE  
            WHEN APL.DEMANDS_HOUSE_TRAINED = '仅需训练上厕所' THEN '是'
            ELSE ANI.IS_HOUS_TRAINED
          END

    回复
    0
  • 取消回复