Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So verwenden Sie eine berechnete Spalte, um eine andere Spalte in derselben Ansicht zu berechnen

Sie könnten eine verschachtelte Abfrage verwenden:

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

Mit einer Zeile mit den Werten 3 , 4 , 5 das ergibt:

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

Sie können die erste Berechnung auch einfach wiederholen, es sei denn, es ist wirklich etwas Kostspieliges (z. B. über einen Funktionsaufruf):

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

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