Sonty, I get an error with this. I replace your table name with t so I could
use Benoit's data.
Mike

SELECT   xph2.l low, xph.l high
    FROM t xph, t xph2
   WHERE NOT EXISTS (SELECT l
                       FROM t
                      WHERE l = xph.l + 1)
     AND NOT EXISTS (SELECT l
                       FROM t
                      WHERE l = xph2.l - 1)
     AND (xph.l - xph2.l) + 1 = (SELECT COUNT (1)
                                   FROM t
                                  WHERE l <= xph.l AND l >= xph2.l)
ORDER BY 1, 2
                  *
Error at line 9
ORA-00904: "XPH2"."L": invalid identifier

Script Terminated on line 1.

---------------------------------------------------------------------------------------------------

On Mon, Sep 7, 2009 at 1:18 AM, sonty <saurabh.zen...@gmail.com> wrote:

>
> This is working for me:
>
> SELECT  xph2.l low,xph.l high
>           FROM test_temp xph, test_temp xph2
>          WHERE NOT EXISTS (SELECT l
>                              FROM test_temp
>                             WHERE l = xph.l + 1)
>            AND NOT EXISTS (SELECT l
>                              FROM test_temp
>                             WHERE l = xph2.l - 1)
>            AND (xph.l - xph2.l)+1 =
>                   (SELECT COUNT (1)
>                      FROM test_temp
>                     WHERE l <= xph.l
>                       AND l >= xph2.l)
> order BY 1,2
>
> where table test_temp has column l.
>
> Regards,
> Sonty
>
> On Sep 6, 10:25 pm, Michael Moore <michaeljmo...@gmail.com> wrote:
> > In oracle you could create a "table function" which you use like this.
> >
> > select * from TABLE(mytab);
> >
> > where mytab is the name of a pl/sql function. That function must be in a
> > pl/sql package. It can not be 'stand alone'.
> >
> > A google search on ORACLE,PLSQL,TABLE,FUNCTION should get you everything
> you
> > need to know. If not, write back.
> >
> > On Sun, Sep 6, 2009 at 5:43 AM, David Hart <david.john.h...@gmail.com
> >wrote:
> >
> >
> >
> > > I would expect this:LBound     UBound
> > > 1              2
> > > 5              5
> > > 7              8
> > > 12            12
> >
> > > I'm more from a SQL Server background...  could I create a temporary
> table,
> > > fill it with the correct values and then return the result from a SPROC
> or
> > > function?
> >
> > > D.
> >
> > > On Sat, Sep 5, 2009 at 10:47 AM, Michael Moore <
> michaeljmo...@gmail.com>wrote:
> >
> > >> This would probably best be solved procedurally. If you can come up
> with a
> > >> query that does it, it will probably be very ugly. Also, what result
> would
> > >> you expect in this case:
> >
> > >> 1
> > >> 2
> > >> 5
> > >> 7
> > >> 8
> > >> 12
> >
> > >> ??
> >
> > >> Mike
> >
> > >> On Sat, Sep 5, 2009 at 6:49 AM, Dave Hart <david.john.h...@gmail.com
> >wrote:
> >
> > >>> Hi,
> > >>> I have a table which includes data like this:
> >
> > >>> SEQ
> > >>> 1
> > >>> 2
> > >>> 3
> > >>> 4
> > >>> 8
> > >>> 9
> > >>> 10
> > >>> 11
> > >>> 12
> > >>> 13
> > >>> 20
> > >>> 21
> > >>> 22
> > >>> 23
> > >>> 24
> >
> > >>> I want to be able to write a query that displays the upper and lower
> > >>> bounds of each range:
> > >>> LBound    UBound
> > >>> 1              4
> > >>> 8              13
> > >>> 20            24
> >
> > >>> I've found plenty of queries that find the start and end of the gaps
> > >>> but none that display the start and end of the ranges.
> >
> > >>> Any help is appreciated.
> >
> > >>> Thanks,
> > >>> Dave- Hide quoted text -
> >
> > - Show quoted text -
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to Oracle-PLSQL@googlegroups.com
To unsubscribe from this group, send email to
oracle-plsql-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to