mysql wählen Sie Aussage mit Fall oder wenn sonst die richtige Option auswählen. Das Verständnis der Unterschiede zwischen diesen beiden Ansätzen ist entscheidend für die Auswahl der optimalen Lösung.
case Anweisung
Die Fallanweisung bewertet mehrere Bedingungen und gibt einen entsprechenden Wert basierend auf der ersten Übereinstimmung zurück. In diesem Fall ist die Bedingung der Produktstatus (neu oder verwendet), und der entsprechende Wert ist die vom Hersteller festgelegte Sichtbarkeit (1, 2 oder 3). Die Syntax lautet wie folgt:
Fall Wenn Bedingung 1 dann Wert 1 Wenn Bedingung2 dann Wert2 ... Sonst default_value End
CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE default_value END
die if sonst -Anweisung bewertet die Bedingungen in einer sequentiellen Reihenfolge. Wenn eine Bedingung wahr ist, wird der entsprechende Codeblock ausgeführt. Wenn mehrere Bedingungen wahr sind, wird nur der Codeblock für die erste echte Bedingung ausgeführt. Die Syntax ist wie folgt:
wenn Bedingung1 dann Codeblock 1 Elseif Condition2 dann Codeblock 2 ... ANDERS Standardcode -Block Ende wenn
IF condition1 THEN code block 1 ELSEIF condition2 THEN code block 2 ... ELSE default code block END IF
In diesem speziellen Fall ist die Fallanweisung die geeignetere Wahl, da sie sauberer und lesbarerer Code ermöglicht. Es ordnet den Produktstatus direkt dem entsprechenden Sichtbarkeitswert ab. Die Anweisung von if sonst würde mehrere andere wenn Blöcke erfordern, wodurch der Code komplexer und anfällig für Fehler wird. t2.company_name, t2.expose_new, t2.expose_used, t1.title, t1.seller, t1.status, Fallstatus Wenn 'neu' dann t2.expose_new Wenn 'verwendet', dann t2.expose_used Sonst null Enden als "Enthüllung" AUS `Products" T1 Schließen Sie sich den Herstellern T2 an AN t2.id = t1.seller WO t1.seller = 4238
Diese Abfrage ruft effektiv Produktdetails zusammen mit dem mit der Fallanweisung berechneten Sichtbarkeitswert ab. Das Ergebnis ist ein einstelliger Belichtungswert für jedes Produkt, das für die bedingte Anzeige verwendet werden kann.Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3