Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment utiliser une colonne calculée pour calculer une autre colonne dans la même vue

Vous pouvez utiliser une requête imbriquée :

Select
  ColumnA,
  ColumnB,
  calccolumn1,
  calccolumn1 / ColumnC as calccolumn2
From (
  Select
    ColumnA,
    ColumnB,
    ColumnC,
    ColumnA + ColumnB As calccolumn1
  from t42
);

Avec une ligne de valeurs 3 , 4 , 5 ça donne :

   COLUMNA    COLUMNB CALCCOLUMN1 CALCCOLUMN2
---------- ---------- ----------- -----------
         3          4           7         1.4

Vous pouvez également simplement répéter le premier calcul, à moins que cela ne coûte vraiment cher (via un appel de fonction, par exemple) :

Select
  ColumnA,
  ColumnB,
  ColumnA + ColumnB As calccolumn1,
  (ColumnA + ColumnB) / ColumnC As calccolumn2
from t42; 

   COLUMNA    COLUMNB CALCCOLUMN1 CALCCOLUMN2
---------- ---------- ----------- -----------
         3          4           7         1.4