recherche

Maison  >  Questions et réponses  >  le corps du texte

Le titre réécrit est : Comment faire correspondre deux attributs et obtenir plusieurs résultats à l'aide d'une requête SQL ?

Pour faire court, je travaille sur une application qui met en relation les personnes souhaitant adopter un chien avec les chiens disponibles dans les refuges en fonction de leur taille, de leur âge et d'autres caractéristiques.

Ma requête a rencontré quelques problèmes lors de l'utilisation de CASE, par exemple, le code ci-dessous n'est qu'une partie du code entier, pour simplifier :

ANI.IS_HOUSE_TRAINED = CASE  
            WHEN APL.DEMANDS_HOUSE_TRAINED = '仅需训练过的' THEN '是'
            WHEN APL.DEMANDS_HOUSE_TRAINED = '训练不必须' THEN '否' 
            END

Le code ci-dessus dit en gros que si un candidat demande un « chien dressé », faites correspondre « chien dressé », La deuxième option pour les candidats est « Formation non requise » et cette personne doit être compatible avec les chiens dressés et non dressés. Mais je n'arrive pas à comprendre comment faire cela.

J'ai également essayé de créer un troisième CASE comme indiqué ci-dessous, mais cela n'a pas fonctionné non plus car le deuxième CASE correspondait déjà :

ANI.IS_HOUSE_TRAINED = CASE  
        WHEN APL.DEMANDS_HOUSE_TRAINED = '仅需训练过的' THEN '是'
        WHEN APL.DEMANDS_HOUSE_TRAINED = '训练不必须' THEN '否'             
        WHEN APL.DEMANDS_HOUSE_TRAINED = '训练不必须' THEN '是'                     
END

Quelqu'un peut-il m'aider ? Comment gérer des situations où il existe plusieurs combinaisons possibles ?

P粉659518294P粉659518294437 Il y a quelques jours637

répondre à tous(1)je répondrai

  • P粉068174996

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

    Voici ma compréhension du problème :

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

    répondre
    0
  • Annulerrépondre