Heim >Datenbank >MySQL-Tutorial >Wie fülle ich bedingte Spalten in MySQL mithilfe von CASE-Anweisungen?

Wie fülle ich bedingte Spalten in MySQL mithilfe von CASE-Anweisungen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-31 07:55:10867Durchsuche

How to Populate Conditional Columns in MySQL Using CASE Statements?

Case-Anweisung für bedingte Spaltenauffüllung in MySQL

Im Kontext der Tabelle „tbl_transaction“ mit den Spalten „id“, „action_type“, „action_heading“ und „action_amount“ ist es möglich, die gewünschten Ergebnisspalten „Einkommensbetrag“ und „Ausgabenbetrag“ mithilfe einer SQL-Abfrage zu generieren, die diese Spalten füllt bedingt.

Die Abfrage nutzt die Fähigkeit der CASE-Anweisung, den Wert von „action_type“ auszuwerten und den entsprechenden „action_amount“ entweder der Spalte „income_amt“ oder „expense_amt“ zuzuweisen.

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;

Das Ergebnis sind, dass die Spalten „Einkommensamt“ und „Ausgabenamt“ korrekt mit Beträgen gefüllt sind, die auf dem Wert „Einnahmen“ oder „Ausgaben“ basieren in 'action_type'.

ID        Heading         Income Amt       Expense Amt
1         ABC             1000             -
2         XYZ             -                2000

Das obige ist der detaillierte Inhalt vonWie fülle ich bedingte Spalten in MySQL mithilfe von CASE-Anweisungen?. 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