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
355 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!

source:php.cn
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