我希望您能为这个问题提供帮助.我正在使用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更多推荐
如何在同一视图中使用计算列来计算另一列
发布评论