首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PL/SQL Union语句公共变量需要定义?

PL/SQL Union语句公共变量需要定义?
EN

Stack Overflow用户
提问于 2017-07-24 18:35:21
回答 1查看 304关注 0票数 0
代码语言:javascript
复制
  SELECT JOBNO,
         SUBJOBNO,
         SUM (IPCST) IPCST,
         SUM (VAD) VAD,
         SUM (WSTVAD) WSTVAD,
         SUM (PRQTY) PRQTY,
         SUM (ACC) ACC,
         SUM (SGVAD) SGVAD
    FROM (  SELECT jobno,
                   subjobno,
                   SUM (ipcost) IPCST,
                   0 VAD,
                   0 WSTVAD,
                   0 PRQTY,
                   0 ACC,
                   0 SGVAD
              FROM stt_prdtl
             WHERE jobno = 123 AND wktype = 100
          GROUP BY jobno, subjobno
          UNION
            SELECT jobno,
                   subjobno,
                   0 IPCST,
                   SUM (vadncost) VAD,
                   0 WSTVAD,
                   0 PRQTY,
                   0 ACC,
                   0 SGVAD
              FROM stt_prdtl
             WHERE jobno = 123
          GROUP BY jobno, subjobno
          UNION
            SELECT jobno,
                   subjobno,
                   0 IPCST,
                   0 VAD,
                   SUM (wstvadncost) WSTVAD,
                   0 PRQTY,
                   0 ACC,
                   0 SGVAD
              FROM stt_prdtl
             WHERE jobno = 123
          GROUP BY jobno, subjobno
          UNION
            SELECT jobno,
                   subjobno,
                   0 IPCST,
                   0 VAD,
                   0 WSTVAD,
                   SUM (prdqty) PRQTY,
                   0 ACC,
                   0 SGVAD
              FROM stt_prdtl
             WHERE jobno = 123 AND wktype = 500
          GROUP BY jobno, subjobno
          UNION
            SELECT jobno,
                   subjob,
                   0 IPCST,
                   0 VAD,
                   0 WSTVAD,
                   0 PRQTY,
                   SUM (acc_cost) ACC,
                   0 SGVAD
              FROM stt_prhdr
             WHERE jobno = 123 AND status = 'C'
          GROUP BY jobno, subjob
          UNION
            SELECT jobno,
                   subjobno,
                   0 IPCST,
                   0 VAD,
                   0 WSTVAD,
                   0 PRQTY,
                   0 ACC,
                   SUM (sgvadcost) SGVAD
              FROM stt_prdtl
             WHERE jobno = 123 AND wktype = 500
          GROUP BY jobno, subjobno)
GROUP BY jobno, subjobno
ORDER BY subjobno;

任何人,你可以帮助我如何定义一般的工作编号,而不是键入每行。我需要定义这个变量,通常在代码的开头,从那里脚本需要调用。

我期待任何一个人的结果?

EN

回答 1

Stack Overflow用户

发布于 2017-07-25 08:07:30

代码语言:javascript
复制
DECLARE
   jobno_var number;  // or jobno_var table.column%type;
BEGIN
      // Now you can reference variable jobno_var anywhere in your code below
     SELECT JOBNO,
         SUBJOBNO,
         SUM (IPCST) IPCST,
        ...
         GROUP BY jobno, subjobno)
    GROUP BY jobno, subjobno
    ORDER BY subjobno;
END;
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45278325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档