从Oracle中的循环中选择

从Oracle中的循环中选择,oracle,plsql,oracle11g,Oracle,Plsql,Oracle11g,在oracle 11g中,我希望执行如下查询: 在这种情况下,我不允许使用函数或过程。 我试着用谷歌搜索它,但找不到好的解决办法。几乎告诉我如何使用函数或存储过程 带列(A、B、C)的表X 对于表X中的一行,我要选择: Count = B - A; for(i=0;i<Count;i++) { C++; D = C * A; } Count=B-A; 对于(i=0;i您的思维方式就像3GL开发人员一样。Java(或其他)只

在oracle 11g中,我希望执行如下查询:

在这种情况下,我不允许使用函数或过程。 我试着用谷歌搜索它,但找不到好的解决办法。几乎告诉我如何使用函数或存储过程

带列(A、B、C)的表X 对于表X中的一行,我要选择:

    Count = B - A;
    for(i=0;i<Count;i++)
    {
        C++;
        D = C * A; 
    }
Count=B-A;

对于(i=0;i您的思维方式就像3GL开发人员一样。Java(或其他)只有数组,所以一切都是迭代。但SQL是一种面向集合的语言:我们不需要循环来处理数据集。Oracle SQL具有内置的聚合函数,允许我们从记录集计算值

例如,此查询计算总薪酬(工资加佣金)、员工人数和平均工资:

select sum(sal + nvl(comm,0)) as total_renum
       , count(*) as total_emps
       , avg(sal) as average_salary
from emp
/
甲骨文有一系列这样的功能,其中有些功能非常强大。请务必也去看看


嗯,因此您随后发布了一段神秘的代码片段。您到底想要什么还不清楚,但这可能会为您的选项卡产生结果;e
Y

select a
       , b
       , c
       , 0 + ((c+level) * a) as d
from x
connect by level <= (b-a)
/
选择一个
B
C
,0+((c+水平)*a)作为d
从x

按级别连接要循环多少个表?您可以简单地使用查询。GG是什么的缩写?循环是一个过程构造。如果您真的要使用循环,您需要某种PL/SQL。但是当您说您不需要过程或函数时,您排除了PL/SQL。我的意思是太多的循环。我运行它位于第三个软件上,因此我无法在其中放置函数或过程。您想用循环实现什么?您确定不能将一些表连接在一起吗?或者将所有查询合并在一起一个或多个查询?不知道您的数据是什么或想要什么结果,您的问题无法回答。我只是更新了。你们能再读一遍吗?谢谢