Heim > Datenbank > MySQL-Tutorial > Kann die CASE-Anweisung von MySQL Transaktionsbeträge in Einnahmen- und Ausgabenspalten aufteilen?

Kann die CASE-Anweisung von MySQL Transaktionsbeträge in Einnahmen- und Ausgabenspalten aufteilen?

Mary-Kate Olsen
Freigeben: 2025-01-02 12:52:40
Original
387 Leute haben es durchsucht

Can MySQL's CASE Statement Separate Transaction Amounts into Income and Expense Columns?

Bedingtes Füllen von Spalten in MySQL mithilfe der CASE-Anweisung

Frage:

Angenommen, es handelt sich um eine Datenbanktabelle mit Transaktionsdetails Es ist möglich, mithilfe einer SQL zwei Spalten zu generieren, „Einkommensbetrag“ und „Ausgabenbetrag“, und die Transaktionsbeträge danach zu trennen, ob es sich um Einnahmen oder Ausgaben handelt Abfrage?

Lösung:

Ja, mit der CASE-Anweisung in MySQL ist es möglich, die Spalten bedingt zu füllen und die Beträge basierend auf dem abgelegten „action_type“ zu trennen .

Hier ist eine Beispielabfrage, um dies zu erreichen:

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;
Nach dem Login kopieren

Diese Abfrage verwendet den CASE Anweisung zum Auswerten der Spalte „action_type“. Wenn „action_type“ „Income“ ist, weist es „income_amt“ den Wert von „action_amount“ zu und setzt „expense_amt“ auf NULL. Wenn umgekehrt der „action_type“ „Expense“ lautet, wird „expense_amt“ der Wert von „action_amount“ zugewiesen und „income_amt“ auf NULL gesetzt.

Wie vom Befragten angegeben, stellt MySQL auch das IF( ) fungieren als Alternative zur CASE-Anweisung. Allerdings wird die CASE-Anweisung aufgrund ihrer Portabilität über verschiedene Datenbank-Engines im Vergleich zur MySQL-spezifischen IF()-Funktion bevorzugt.

Das obige ist der detaillierte Inhalt vonKann die CASE-Anweisung von MySQL Transaktionsbeträge in Einnahmen- und Ausgabenspalten aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage