Maison >base de données >tutoriel mysql >Comment puis-je dériver un calcul de colonne à partir d'une colonne calculée préexistante en SQL ?

Comment puis-je dériver un calcul de colonne à partir d'une colonne calculée préexistante en SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-05 13:57:43759parcourir

How Can I Derive a Column Calculation from a Pre-existing Calculated Column in SQL?

Dérivation d'un calcul de colonne à partir d'une colonne calculée en SQL

En SQL, vous pouvez rencontrer le besoin de calculer davantage une colonne en fonction d'un colonne précédemment calculée dans la même vue ou requête. Ceci peut être réalisé par diverses méthodes.

Une approche consiste à introduire une sous-requête imbriquée, comme démontré ci-dessous :

SELECT
  ColumnA,
  ColumnB,
  calccolumn1,
  calccolumn1 / ColumnC AS calccolumn2
FROM (
  SELECT
    ColumnA,
    ColumnB,
    ColumnC,
    ColumnA + ColumnB AS calccolumn1
  FROM table_name
);

Dans cette requête, la sous-requête calcule la colonne initiale calccolumn1 à l'aide de l'expression ColonneA ColonneB. Par la suite, la requête externe fait référence à calccolumn1 pour calculer calccolumn2.

Alternativement, si le calcul initial n'est pas coûteux en termes de calcul, vous pouvez simplement répéter le calcul explicitement dans la requête principale :

SELECT
  ColumnA,
  ColumnB,
  ColumnA + ColumnB AS calccolumn1,
  (ColumnA + ColumnB) / ColumnC AS calccolumn2
FROM table_name;

Ceci Cette approche garantit que les deux calculs sont effectués simultanément, sans avoir besoin d'imbrication.

En mettant en œuvre ces méthodes, vous pouvez en toute transparence dérivez des calculs de colonnes supplémentaires à partir des colonnes calculées existantes dans vos requêtes et vues SQL.

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:
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