【发布时间】:2016-06-21 13:59:29
【问题描述】:
我正在尝试在 oracle 中做一些数学运算,让我返回多行的总和,减去同一张表的不同列中的 1 行的值。这可能吗?
例如,
select sum(column1) - (select column2 from table1 where month = to_date(201505, 'yyyymm')) 从表 1 其中月份 >= to_date(201006, 'yyyymm');
【问题讨论】:
-
您是否尝试过您的查询?您是否遇到错误或意外行为?
-
@Aleksej: 正要输入完全相同的句子.. Oo 但还要添加,只需要确保
where month = to_date(201505, 'yyyymm')产生单行......但是.. 呃.. 是的。 . :) -
不要在 cmets 中发布查询,无法阅读 .. 如果相关 .. 将其发布在原始帖子中 ..
-
您正在使用没有任何分组的分组功能(
SUM);您需要添加一个GROUP BY子句,按LS_ASSET_ID分组;此外,正如 DItto 所说,您确定子查询将返回 ONE 值吗?否则你需要用MIN、MAX或任何你需要的东西来修改它