Maison > base de données > tutoriel mysql > L'instruction CASE de MySQL peut-elle séparer les montants des transactions en colonnes de revenus et de dépenses ?

L'instruction CASE de MySQL peut-elle séparer les montants des transactions en colonnes de revenus et de dépenses ?

Mary-Kate Olsen
Libérer: 2025-01-02 12:52:40
original
387 Les gens l'ont consulté

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

Remplir les colonnes de manière conditionnelle dans MySQL à l'aide de l'instruction CASE

Question :

Étant donné une table de base de données contenant les détails de la transaction, est-ce Il est possible de générer deux colonnes, « Montant des revenus » et « Montant des dépenses », séparant les montants des transactions selon qu'ils représentent des revenus ou des dépenses en utilisant une requête SQL ?

Solution :

Oui, en utilisant l'instruction CASE dans MySQL, il est possible de remplir les colonnes de manière conditionnelle, en séparant les montants en fonction du "type_action " déposé.

Voici un exemple de requête pour y parvenir :

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;
Copier après la connexion

Cette requête utilise le CASE instruction pour évaluer la colonne "action_type". Si le "type_action" est "Revenu", il attribue la valeur de "montant_action" à "revenu_amt" et définit "dépense_amt" sur NULL. À l'inverse, si « action_type » est « Expense », il attribue la valeur de « action_amount » à « expense_amt » et définit « revenue_amt » sur NULL.

Comme l'a indiqué le répondant, MySQL fournit également le IF( ) fonctionnent comme une alternative à l'instruction CASE. Cependant, l'instruction CASE est préférée en raison de sa portabilité sur différents moteurs de base de données par rapport à la fonction IF() spécifique à MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal