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!