Heim >Datenbank >MySQL-Tutorial >Wie können MySQL-CASE-Anweisungen Spalten bedingt füllen?

Wie können MySQL-CASE-Anweisungen Spalten bedingt füllen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-25 10:12:13244Durchsuche

How Can MySQL CASE Statements Populate Columns Conditionally?

Verwenden von Case-Anweisungen für die bedingte Spaltenauffüllung in MySQL

Mit der Anforderung, zwei Spalten („Einkommensbetrag“ und „Ausgabenbetrag“ bedingt auszufüllen). ') in der Tabelle 'tbl_transaction' erweist sich eine case-Anweisung als effektive Lösung in MySQL.

Die Mit der case-Anweisung können Sie einen Ausdruck auswerten und einen anderen Wert zurückgeben, je nachdem, ob eine Bedingung erfüllt ist oder nicht. In diesem Fall wird die Spalte „action_type“ als Bedingung verwendet, um zu bestimmen, ob ein Betrag der Spalte „Einkommensbetrag“ oder „Ausgabenbetrag“ zugewiesen werden soll.

Hier ist eine Abfrage, die die Verwendung einer Case-Anweisung zum Erreichen des gewünschten Ziels demonstriert Ergebnis:

SELECT
    id,
    action_heading,
    CASE
        WHEN action_type = 'Income' THEN action_amount
        ELSE NULL
    END AS income_amt,
    CASE
        WHEN action_type = 'Expense' THEN action_amount
        ELSE NULL
    END AS expense_amt
FROM tbl_transaction;

In dieser Abfrage wird die CASE-Anweisung zweimal verwendet, einmal, um den action_amount der Spalte „income_amt“ zuzuweisen, wenn der action_type lautet „Einkommen“ und einmal, um den action_amount der Spalte „expense_amt“ zuzuweisen, wenn der action_type „Ausgabe“ ist.

Die Ausgabe dieser Abfrage wäre wie folgt:

id action_heading income_amt expense_amt
1 ABC 1000 NULL
2 XYZ NULL 2000

Dies zeigt, wie Eine Case-Anweisung kann Spalten basierend auf bedingten Ausdrücken dynamisch füllen und bietet so eine praktische Möglichkeit, Daten effektiv zu kategorisieren und zu organisieren.

Das obige ist der detaillierte Inhalt vonWie können MySQL-CASE-Anweisungen Spalten bedingt füllen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn