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

J'espère que vous pouvez aider avec cette question. Je suis à l'aide de Oracle SQL (SQL Developer pour ce point de vue)...

Si j'ai une table avec les colonnes suivantes:

  • ColumnA (Nombre)
  • Colonneb (Nombre)
  • ColumnC (Nombre)

De mon point de vue j'ai

Select  
ColumnA,
ColumnB,
ColumnA + ColumnB As calccolumn1

Maintenant à ce point, je veux utiliser calccolumn1
mais je ne peux pas dire...

Select  
ColumnA,
ColumnB,
ColumnA + ColumnB As calccolumn1
calccolumn1 / ColumnC as calccolumn2

Je suppose que j'ai besoin d'un certain type de sous-requête..mais c'est là que j'ai besoin de votre aide...
Comment pourrais-je le mot de la requête afin que je puisse utiliser calccolumn1 dans un autre calcul au sein de la même requête? Il pourrait être un Si ou alors si, mais au fond il est un certain nombre dérivé.

  • Est-il une raison de ne pas juste faire (ColumnA + ColumnB) / ColumnC As calccolumn2?
  • Je suis d'accord...dans cet exemple simplifié..qui fonctionne très bien. J'ai essayé d'obtenir à la notion de la façon dont je voudrais formater un exemple simplié de s'appliquer à un plus complexe...donc si ColumnA était un Cas complexe Lors de l'instruction et Colonneb était aussi...alors si je veux combinés pour produire calccolumn1 et de les utiliser plus tard pour calccolumn2. J'ai simplement il suffit de mettre la totalité de l'état de la Colonne A dans () et de même pour B et de les ajouter?
  • Ayant expression complexe sur le même niveau pourrait être à portée de main. Définition unique est plus facile à maintenir que la copie sur plusieurs endroits. Il est faisable à l'aide de CROSS APPLY approach
  • Bien sûr, la question n'a tout simplement pas de montrer une expression complexe vraiment. J'allais dire la croix appliquer n'est pas disponible lorsque la question a été posée, mais 12c avait été quelques mois, je n'étais tout simplement pas au courant de ça... La sous-requête approche ne se répètent pas qu'il soit si.
  • Il n'y a rien de mal avec vue intégrée/CTE approche. Je voulais juste montrer qu'il est possible d'avoir une expression complexe à la même requête de niveau comme alternative.
InformationsquelleAutor Ewaver | 2013-10-04