Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: way to implement sqlplus break on in sql
On May 24, 12:19 pm, DA Morgan <damor..._at_psoug.org> wrote:
> sybrandb wrote:
> > On May 24, 1:54 am, DA Morgan <damor..._at_psoug.org> wrote:
> >> grasp06110 wrote:
> >>> Hi Everybody,
> >>> Is there a better way to implement the "break on" functionality of
> >>> sqlplus in sql than what is shown below?
> >>> Thanks,
> >>> John
> >>> select
> >>> (case
> >>> when depno = lag(depno) over (order by depno)
> >>> then null
> >>> else depno
> >>> end) depno,
> >>> name
> >>> from
> >>> emp
> >>> /*
> >>> create and populate emp table
> >>> drop table emp;
> >>> create table emp (
> >>> name varchar2(20),
> >>> depno number
> >>> );
> >>> insert into emp values (
> >>> 'FLECK',
> >>> 1
> >>> );
> >>> insert into emp values (
> >>> 'WOOTEN',
> >>> 1
> >>> );
> >>> insert into emp values (
> >>> 'FUTURE MAN',
> >>> 1
> >>> );
> >>> insert into emp values (
> >>> 'JACK',
> >>> 2
> >>> );
> >>> insert into emp values (
> >>> 'JORMA',
> >>> 2
> >>> );
> >>> */
> >>> select
> >>> (case
> >>> when depno = lag(depno) over (order by depno)
> >>> then null
> >>> else depno
> >>> end) depno,
> >>> name
> >>> from
> >>> emp
> >> Show where?
> >> --
> >> Daniel A. Morgan
> >> University of Washington
> >> damor..._at_x.washington.edu
> >> (replace x with u to respond)
> >> Puget Sound Oracle Users Groupwww.psoug.org-Hide quoted text -
>
>> > from
> > Here....
> > select
> > (case
> > when depno = lag(depno) over (order by depno)
> > then null
> > else depno
> > end) depno,
> > name
>
>> > Sybrand Bakker
> > --
>
>
Unfortunately I am not in front of my work terminal but I believe that the OP is referring to the SQLPlus break command which can be used to supress printing repeating column values. I changed depno to deptno and name to ename and ran the SQL against the old Oracle EMP table. As expected the posted SQL only displays the department number once per department along with the employee name, I was interrupted before I had time to verify that the ename returned is in fact in the associated department though I expect it is.
{ text removed }
ENAME JOB SAL
---------- --------- ----------
WARD SALESMAN 1250 MARTIN 1250 TURNER 1500 ALLEN 1600 ********* ---------- sum 5600 ---------- sum 29025
14 rows selected.
HTH -- Mark D Powell -- Received on Thu May 24 2007 - 18:24:44 CDT