如何在同一视图中使用计算列来计算另一列

编程入门 行业动态 更新时间:2024-10-28 14:23:13
本文介绍了如何在同一视图中使用计算列来计算另一列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我希望您能为这个问题提供帮助.我正在使用Oracle SQL(此视图为SQL Developer)...

I am hoping you can help with this question. I am using Oracle SQL (SQL Developer for this view)...

如果我有一个包含以下列的表格:

If I have a table with the following columns:

  • ColumnA(数字)
  • ColumnB(数字)
  • ColumnC(数字)

我认为

Select ColumnA, ColumnB, ColumnA + ColumnB As calccolumn1

现在,我要使用calccolumn1 但我不能只说...

Now at this point, I want to use calccolumn1 but I cannot just say...

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

我假设我需要某种子查询..但这是我需要您帮助的地方... 我将如何用词查询查询,以便可以在同一查询的另一个计算中使用calccolumn1?可能是"If then"或"Case when",但最重要的是它是一些派生数字.

I am assuming I need some type of subquery..but this is where I need your help... How would I word the query so that I can use calccolumn1 in another calculation within the same query? It might be an If then or a Case when, but bottomline it is some derived number.

推荐答案

您可以使用嵌套查询:

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

具有值3,4,5的行给出:

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

您也可以重复第一个计算,除非它确实在做一些昂贵的事情(例如通过函数调用):

You can also just repeat the first calculation, unless it's really doing something expensive (via a function call, say):

Select ColumnA, ColumnB, ColumnA + ColumnB As calccolumn1, (ColumnA + ColumnB) / ColumnC As calccolumn2 from t42; COLUMNA COLUMNB CALCCOLUMN1 CALCCOLUMN2 ---------- ---------- ----------- ----------- 3 4 7 1.4

更多推荐

如何在同一视图中使用计算列来计算另一列

本文发布于:2023-07-26 07:09:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1214885.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:视图   在同一

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!