That was stupid of me. Guess It's what I get for looking a work on a
holiday.
Mike

On Tue, Sep 8, 2009 at 6:48 AM, ddf <orat...@msn.com> wrote:

>
>
>
> On Sep 7, 10:26 am, Michael Moore <michaeljmo...@gmail.com> wrote:
> > 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 -- Hide quoted text -
> >
> > - Show quoted text -
>
> You cannot do that without creating table 't' with a 'proper'
> definition (one that matches sonty's example table).  This works:
>
> SQL> create table t(l number not null);
>
> Table created.
>
> SQL>
> SQL> insert into t values (1 );
>
> 1 row created.
>
> SQL> insert into t values (2 );
>
> 1 row created.
>
> SQL> insert into t values (3 );
>
> 1 row created.
>
> SQL> insert into t values (4 );
>
> 1 row created.
>
> SQL> insert into t values (8 );
>
> 1 row created.
>
> SQL> insert into t values (9 );
>
> 1 row created.
>
> SQL> insert into t values (10);
>
> 1 row created.
>
> SQL> insert into t values (11);
>
> 1 row created.
>
> SQL> insert into t values (12);
>
> 1 row created.
>
> SQL> insert into t values (13);
>
> 1 row created.
>
> SQL> insert into t values (20);
>
> 1 row created.
>
> SQL> insert into t values (21);
>
> 1 row created.
>
> SQL> insert into t values (22);
>
> 1 row created.
>
> SQL> insert into t values (23);
>
> 1 row created.
>
> SQL> insert into t values (24);
>
> 1 row created.
>
> SQL> commit;
>
> Commit complete.
>
> SQL>
> SQL> SELECT      xph2.l low, xph.l high
>  2      FROM t xph, t xph2
>  3     WHERE NOT EXISTS (SELECT l
>  4                         FROM t
>  5                        WHERE l = xph.l + 1)
>  6       AND NOT EXISTS (SELECT l
>  7                         FROM t
>  8                        WHERE l = xph2.l - 1)
>  9       AND (xph.l - xph2.l) + 1 = (SELECT COUNT (1)
>  10                        FROM t
>  11                        WHERE l <= xph.l AND l >= xph2.l)
>  12  ORDER BY 1, 2;
>
>       LOW       HIGH
> ---------- ----------
>          1          4
>         8         13
>        20         24
>
> SQL>
>
>
> David Fitzjarrell
> >
>

--~--~---------~--~----~------------~-------~--~----~
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