suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Der umgeschriebene Titel lautet: Wie kann man mithilfe einer SQL-Abfrage zwei Attribute abgleichen und mehrere Ergebnisse erhalten?

Kurz gesagt, ich arbeite an einer App, die Menschen, die einen Hund adoptieren möchten, anhand von Größe, Alter und anderen Merkmalen mit verfügbaren Hunden in Tierheimen zusammenbringt.

Bei meiner Abfrage sind bei der Verwendung von CASE einige Probleme aufgetreten. Der folgende Code ist beispielsweise zur Vereinfachung nur ein Teil des gesamten Codes:

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

Der obige Code besagt im Wesentlichen, dass, wenn ein Bewerber einen „ausgebildeten Hund“ wünscht, „ausgebildeter Hund“ zutrifft. Die zweite Option für Bewerber ist „Training nicht erforderlich“ und diese Person sollte sowohl für trainierte als auch für untrainierte Hunde geeignet sein. Aber ich kann anscheinend nicht herausfinden, wie das geht.

Ich habe auch versucht, einen dritten CASE zu erstellen, wie unten gezeigt, aber es hat auch nicht funktioniert, weil der zweite CASE bereits übereinstimmte:

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

Kann mir jemand helfen? Wie geht man mit Situationen um, in denen es mehrere mögliche Kombinationen gibt?

P粉659518294P粉659518294471 Tage vor667

Antworte allen(1)Ich werde antworten

  • 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

    Antwort
    0
  • StornierenAntwort