Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

how to create a view with "WITH CLAUSE"

KPRMar 17 2011 — edited Mar 17 2011
Hi,

I have a query with "WITH" CLAUSE , I need to create a view on this query. But I am getting error like

ORA-32034 : Unsupported sue of WITH clause.

Please help me...!!

Please find below my query...!!

WITH RANGE
         AS (SELECT A.MASTERMACHINEID,
                    a.startdate,
                    a.enddate,
                    a.startdate - (1 / 3) + (lvl) * 1 / 3 SHIFT_ST_DT,
                    a.startdate + (lvl) * 1 / 3 AS SHIFT_END_DT,
                    a.quantity,
                    (LEAST ( enddate, TODATE) - GREATEST ( FROMDATE, startdate)) * 24 TOTAL_HRS,
                    (enddate - startdate) * 24 AVAIL,
                   todate,
                   fromdate
              FROM OMP A,
                   (SELECT LEVEL lvl
                      FROM (SELECT MAX (enddate - startdate) AS diff FROM OMPWORKORDER)
                    CONNECT BY LEVEL <= (diff) * 3),
                   MASTER B
             WHERE A.MASTERMACHINEID = B.MASTERMACHINEID 
               AND lvl / 3 <=(enddate - startdate) + 1
            ORDER BY SHIFT_ST_DT)
   SELECT shift_date,
          shift_num,
          shift_hrs,
          DECODE (SIGN (SHUT_DWN_TIME), -1, 0, SHUT_DWN_TIME),
          8 - DECODE (SIGN (SHUT_DWN_TIME), -1, 0, SHUT_DWN_TIME) shift_avail_hrs,
          qty,
          total_qty
     FROM (SELECT TRUNC (SHIFT_ST_DT) shift_date,
                  ROW_NUMBER () OVER (PARTITION BY TRUNC (SHIFT_ST_DT) ORDER BY SHIFT_ST_DT) shift_num,
                  8 shift_hrs,
                  (LEAST ( SHIFT_END_DT, TODATE) - GREATEST ( FROMDATE, SHIFT_ST_DT)) * 24
                    SHUT_DWN_TIME,
                  quantity / (avail - TOTAL_HRS) qty,
                  round(((SHIFT_END_DT - SHIFT_ST_DT) * 24 - (LEAST (SHIFT_END_DT, TODATE) - GREATEST (FROMDATE, SHIFT_ST_DT)) * 24)  * QuantiTY / (AVAIL - TOTAL_HRS),2)
                     TOTAL_QTY
             FROM RANGE A );
Regards
KPR

Edited by: BluShadow on 17-Mar-2011 09:48
added {noformat}
{noformat} tags for readability                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
This post has been answered by 647939 on Mar 17 2011
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 14 2011
Added on Mar 17 2011
4 comments
15,145 views