Please help with better sql plan - full test case

Hello,
here is my test case:
SQL> create table ib_auth_devices(dv_id number(12) primary key , dv_cl_id number(12));
Table created.
SQL> create table ib_clients (cl_id number(12) primary key);
Table created.
SQL> alter table ib_auth_devices add constraint fk1 foreign key(dv_cl_id) references ib_clients(cl_id);
Table altered.
SQL> create table ib_tokens (to_dv_id number(12) primary key);
Table created.
SQL> alter table ib_tokens add constraint to_dv_id foreign key(to_dv_id) references ib_auth_devices(dv_id);
Table altered.
SQL> create table ib_auth_cards(au_dv_id number(12) primary key);
Table created.
SQL>  alter table ib_auth_cards add constraint  au_dv_id foreign key(au_dv_id) references ib_auth_devices(dv_id);
Table altered.
SQL> insert into ib_clients values(1);
1 row created.
SQL> insert into ib_clients values(2);
1 row created.
SQL> insert into ib_clients values(3);
1 row created.
SQL> insert into ib_clients values(4);
1 row created.
SQL> insert into ib_clients values(5);
1 row created.
SQL> commit;
Commit complete.
SQL> insert into ib_auth_devices values(1 , 1);
1 row created.
SQL> insert into ib_auth_devices values(2 , 2);
1 row created.
SQL>  insert into ib_auth_devices values(3,3);
1 row created.
SQL> insert into ib_auth_devices values(4,4);
1 row created.
SQL> commit;
Commit complete.
SQL> insert into ib_tokens values(1);
1 row created.
SQL> insert into ib_tokens values(2);
1 row created.
SQL> insert into ib_tokens values(3);
1 row created.
SQL> insert into ib_auth_cards values(1);
1 row created.
SQL> insert into ib_auth_cards values(2);
1 row created.
SQL> commit;
Commit complete.
SQL> select cl_id from ib_clients;
     CL_ID
         1
         2
         3
         4
         5
SQL> select cl_id from ib_clients cli , ib_auth_devices ad
  2  where
  3  cli.cl_id = ad.dv_cl_id;
     CL_ID
         1
         2
         3
         4
SQL> select * from ib_tokens;
  TO_DV_ID
         1
         2
         3
SQL> select * from ib_auth_cards;
  AU_DV_ID
         1
         2
SQL> select * from ib_clients;
     CL_ID
         1
         2
         3
         4
         5
SQL> select * from ib_auth_devices;
     DV_ID   DV_CL_ID
         1          1
         2          2
         3          3
         4          4
SQL> exec dbms_stats.gather_table_stats(user , 'IB_AUTH_DEVICES' , cascade => true);
PL/SQL procedure successfully completed.
SQL> exec dbms_stats.gather_table_stats(user , 'IB_TOKENS'  , cascade => true);
PL/SQL procedure successfully completed.
SQL>  exec dbms_stats.gather_table_stats(user , 'IB_CLIENTS' , cascade => true);
PL/SQL procedure successfully completed.
SQL> exec dbms_stats.gather_table_stats(user , 'IB_AUTH_CARDS' ,  cascade => true);
PL/SQL procedure successfully completed.
SQL> l
  1  select cli.cl_id from ib_clients cli , ib_auth_devices ad,
  2          (select dv_cl_id as cl_id
  3            from ib_auth_cards, ib_auth_devices
  4            where
  5               au_dv_id = dv_id
  6            ) cards,
  7  (       select dv_cl_id as cl_id
  8            from ib_tokens, ib_auth_devices
  9            where
10               to_dv_id = dv_id
11           ) tokens
12  where
13  cli.cl_id = ad.dv_cl_id
14  and cards.cl_id(+)= cli.cl_id
15  and cards.cl_id is null
16  and tokens.cl_id(+)= cli.cl_id
17* and tokens.cl_id is null
SQL> r
  1  select cli.cl_id from ib_clients cli , ib_auth_devices ad,
  2          (select dv_cl_id as cl_id
  3            from ib_auth_cards, ib_auth_devices
  4            where
  5               au_dv_id = dv_id
  6            ) cards,
  7  (       select dv_cl_id as cl_id
  8            from ib_tokens, ib_auth_devices
  9            where
10               to_dv_id = dv_id
11           ) tokens
12  where
13  cli.cl_id = ad.dv_cl_id
14  and cards.cl_id(+)= cli.cl_id
15  and cards.cl_id is null
16  and tokens.cl_id(+)= cli.cl_id
17* and tokens.cl_id is null
Execution Plan
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=5 Card=4 Bytes=128)
   1    0   FILTER
   2    1     HASH JOIN (OUTER)
   3    2       FILTER
   4    3         HASH JOIN (OUTER)
   5    4           NESTED LOOPS (Cost=1 Card=4 Bytes=24)
   6    5             TABLE ACCESS (FULL) OF 'IB_AUTH_DEVICES' (Cost=1
           Card=4 Bytes=12)
   7    5             INDEX (UNIQUE SCAN) OF 'SYS_C008299' (UNIQUE)
   8    4           VIEW (Cost=1 Card=2 Bytes=26)
   9    8             NESTED LOOPS (Cost=1 Card=2 Bytes=18)
  10    9               TABLE ACCESS (FULL) OF 'IB_AUTH_DEVICES' (Cost
          =1 Card=4 Bytes=24)
  11    9               INDEX (UNIQUE SCAN) OF 'SYS_C008303' (UNIQUE)
  12    2       VIEW (Cost=1 Card=3 Bytes=39)
  13   12         NESTED LOOPS (Cost=1 Card=3 Bytes=27)
  14   13           TABLE ACCESS (FULL) OF 'IB_AUTH_DEVICES' (Cost=1 C
          ard=4 Bytes=24)
  15   13           INDEX (UNIQUE SCAN) OF 'SYS_C008301' (UNIQUE)
Statistics
          0  recursive calls
         12  db block gets
          9  consistent gets
          0  physical reads
          0  redo size
        364  bytes sent via SQL*Net to client
        431  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          8  sorts (memory)
          0  sorts (disk)
          1  rows processedAny ideas about rewriting this query to achive better performance ?
Oracle version 8.1.7
Best Regards.
Grzegorz

The answer to this question totally depends on the real volumes you have in your tables. Your test case is probably not showing us these volumes.
However, I see some needless table accesses, so it's probably safe to conclude that this rewrite will speed something up:
SQL> create table ib_auth_devices(dv_id number(12) primary key , dv_cl_id number(12));
Tabel is aangemaakt.
SQL> create table ib_clients (cl_id number(12) primary key);
Tabel is aangemaakt.
SQL> alter table ib_auth_devices add constraint fk1 foreign key(dv_cl_id) references ib_clients(cl_id);
Tabel is gewijzigd.
SQL> create table ib_tokens (to_dv_id number(12) primary key);
Tabel is aangemaakt.
SQL> alter table ib_tokens add constraint to_dv_id foreign key(to_dv_id) references ib_auth_devices(dv_id);
Tabel is gewijzigd.
SQL> create table ib_auth_cards(au_dv_id number(12) primary key);
Tabel is aangemaakt.
SQL> alter table ib_auth_cards add constraint  au_dv_id foreign key(au_dv_id) references ib_auth_devices(dv_id);
Tabel is gewijzigd.
SQL> insert into ib_clients values(1);
1 rij is aangemaakt.
SQL> insert into ib_clients values(2);
1 rij is aangemaakt.
SQL> insert into ib_clients values(3);
1 rij is aangemaakt.
SQL> insert into ib_clients values(4);
1 rij is aangemaakt.
SQL> insert into ib_clients values(5);
1 rij is aangemaakt.
SQL> insert into ib_auth_devices values(1 , 1);
1 rij is aangemaakt.
SQL> insert into ib_auth_devices values(2 , 2);
1 rij is aangemaakt.
SQL> insert into ib_auth_devices values(3,3);
1 rij is aangemaakt.
SQL> insert into ib_auth_devices values(4,4);
1 rij is aangemaakt.
SQL> insert into ib_tokens values(1);
1 rij is aangemaakt.
SQL> insert into ib_tokens values(2);
1 rij is aangemaakt.
SQL> insert into ib_tokens values(3);
1 rij is aangemaakt.
SQL> insert into ib_auth_cards values(1);
1 rij is aangemaakt.
SQL> insert into ib_auth_cards values(2);
1 rij is aangemaakt.
SQL> exec dbms_stats.gather_table_stats(user , 'IB_AUTH_DEVICES' , cascade => true);
PL/SQL-procedure is geslaagd.
SQL> exec dbms_stats.gather_table_stats(user , 'IB_TOKENS'  , cascade => true);
PL/SQL-procedure is geslaagd.
SQL> exec dbms_stats.gather_table_stats(user , 'IB_CLIENTS' , cascade => true);
PL/SQL-procedure is geslaagd.
SQL> exec dbms_stats.gather_table_stats(user , 'IB_AUTH_CARDS' ,  cascade => true);
PL/SQL-procedure is geslaagd.
SQL> set autotrace on explain
SQL> select cli.cl_id
  2    from ib_clients cli
  3       , ib_auth_devices ad
  4       , ( select dv_cl_id as cl_id
  5             from ib_auth_cards
  6                , ib_auth_devices
  7            where au_dv_id = dv_id
  8         ) cards
  9       , ( select dv_cl_id as cl_id
10             from ib_tokens
11                , ib_auth_devices
12            where to_dv_id = dv_id
13         ) tokens
14   where cli.cl_id = ad.dv_cl_id
15     and cards.cl_id(+)= cli.cl_id
16     and cards.cl_id is null
17     and tokens.cl_id(+)= cli.cl_id
18     and tokens.cl_id is null
19  /
                                 CL_ID
                                     4
1 rij is geselecteerd.
Uitvoeringspan
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=10 Card=4 Bytes=128)
   1    0   FILTER
   2    1     HASH JOIN (OUTER)
   3    2       FILTER
   4    3         HASH JOIN (OUTER)
   5    4           NESTED LOOPS (Cost=4 Card=4 Bytes=24)
   6    5             TABLE ACCESS (FULL) OF 'IB_AUTH_DEVICES' (Cost=3 Card=4 Bytes=12)
   7    5             INDEX (UNIQUE SCAN) OF 'SYS_C001354381' (UNIQUE) (Cost=1 Card=1 Bytes=3)
   8    4           VIEW (Cost=3 Card=2 Bytes=26)
   9    8             NESTED LOOPS (Cost=3 Card=2 Bytes=18)
  10    9               INDEX (FULL SCAN) OF 'SYS_C001354385' (UNIQUE) (Cost=2 Card=2 Bytes=6)
  11    9               TABLE ACCESS (BY INDEX ROWID) OF 'IB_AUTH_DEVICES' (Cost=2 Card=1 Bytes=6)
  12   11                 INDEX (UNIQUE SCAN) OF 'SYS_C001354380' (UNIQUE) (Cost=1 Card=1)
  13    2       VIEW (Cost=3 Card=3 Bytes=39)
  14   13         NESTED LOOPS (Cost=3 Card=3 Bytes=27)
  15   14           INDEX (FULL SCAN) OF 'SYS_C001354383' (UNIQUE) (Cost=2 Card=3 Bytes=9)
  16   14           TABLE ACCESS (BY INDEX ROWID) OF 'IB_AUTH_DEVICES' (Cost=2 Card=1 Bytes=6)
  17   16             INDEX (UNIQUE SCAN) OF 'SYS_C001354380' (UNIQUE) (Cost=1 Card=1)
SQL> select cli.cl_id
  2    from ib_clients cli
  3       , ib_auth_devices ad
  4   where cli.cl_id = ad.dv_cl_id
  5     and not exists
  6         ( select 'dummy'
  7             from ib_auth_cards
  8            where au_dv_id = ad.dv_id
  9         )
10     and not exists
11         ( select 'dummy'
12             from ib_tokens
13            where to_dv_id = ad.dv_id
14         )
15  /
                                 CL_ID
                                     4
1 rij is geselecteerd.
Uitvoeringspan
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=8 Card=1 Bytes=9)
   1    0   FILTER
   2    1     NESTED LOOPS (Cost=4 Card=1 Bytes=9)
   3    2       TABLE ACCESS (FULL) OF 'IB_AUTH_DEVICES' (Cost=3 Card=1 Bytes=6)
   4    2       INDEX (UNIQUE SCAN) OF 'SYS_C001354381' (UNIQUE) (Cost=1 Card=1 Bytes=3)
   5    1     INDEX (UNIQUE SCAN) OF 'SYS_C001354385' (UNIQUE) (Cost=1 Card=1 Bytes=3)
   6    1     INDEX (UNIQUE SCAN) OF 'SYS_C001354383' (UNIQUE) (Cost=1 Card=1 Bytes=3)Regards,
Rob.

Similar Messages

  • Please help with an sql to show more than one records into single row for each student

    From the following data I would like to create an sql to get the information  as the following layout
    studentid,  firstTerm,  EnglishMark1,ScienceMark1,MathsMark1, Secondterm,EnglishMark2,ScienceMark2,MathsMark2,
    ThirdTerm,EnglishMark3,ScienceMark3,MathsMark3 // As single rows for each student
    Example
    1 First, 30,40,20,Sec,30,40,20,  simillarly next row for next row for another sudent. Please help to generate the sql for the same.
    Please help it would be very appreciate.
    With Thanks
    Pol
    polachan

    create table yourdata (studentid int, term varchar(10), section varchar(50), Mark int)
    insert into yourdata values
    (1,'First','Math',20),(1,'First','English',30),(1,'First','Science',40),
    (2,'First','Math',20),(2,'First','English',30),(2,'First','Science',40),
    (3,'First','Math',20),(3,'First','English',30),(3,'First','Science',40),
    (1,'Sec','Math',20),(1,'Sec','English',30),(1,'Sec','Science',40),
    (2,'Sec','Math',20),(2,'Sec','English',30),(2,'Sec','Science',40),
    (3,'Sec','Math',20),(3,'Sec','English',30),(3,'Sec','Science',40)
    Select studentid
    ,max(case when term='First' and section='English' Then Mark End) as EnglishMark1
    ,max(case when term='First' and section='Science' Then Mark End) as ScienceMark1
    ,max(case when term='First' and section='Math' Then Mark End) as MathMark1
    ,max(case when term='Sec' and section='English' Then Mark End) as EnglishMark2
    ,max(case when term='Sec' and section='Science' Then Mark End) as ScienceMark2
    ,max(case when term='Sec' and section='Math' Then Mark End) as MathMark2
    ,max(case when term='Third' and section='English' Then Mark End) as EnglishMark3
    ,max(case when term='Third' and section='Science' Then Mark End) as ScienceMark3
    ,max(case when term='Third' and section='Math' Then Mark End) as MathMark3
    From yourdata
    Group by studentid
    drop table yourdata

  • Please help with PL/SQL

    Hi All,
    This is driving me nuts but I can't see what I am doing wrong....
    I have a simple PL/SQL with :
    DECLARE
    xxx NUMBER;
    BEGIN
    FOR z in 1..htmldb_application.g_f02.count loop
    xxx:=htmldb_application.g_f02(z);
    select task_id into present_task from dm_process_steps where process_id=:P34_ID AND task_id = xxx;
    htp.p(xxx);
    IF htmldb_application.g_f02(z) = present_task THEN
    htp.p('PRESENT');
    ELSE
    htp.p('NOT PRESENT');
    END IF;
    END;
    The above fails with:
    ORA-01403: no data found
    However if I replace the marked xxx with the number then the code works fine.
    I do not understand the reason for this since I know that xxx has in fact a value and the select should be valid!
    Kindly asking for any help on this!
    Pawel.

    Scott,
    This will probably be a quite extended but I'll try to make it as clear as possible. I took a different approach to find the element which is causing the problem.
    I have 2 TABLES defined as:
    DM_PROCESS_STEPS
    ID Number
    PROCESS_ID Number
    TASK_ID Number
    TASK_ORDER Number
    DM_TASKS
    TASK_ID Number
    TASK_TITLE Varchar2
    ...and some more columns ...
    On the page I have a PL/SQL Region with:
    DHTML_SHUTTLE (
    pSQL_1=>'select "TASK_TITLE","TASK_ID" from "DM_TASKS"',
    pSQL_2=>'select t.task_title, p.task_id from dm_tasks t,dm_process_steps p where t.task_id = p.task_id and process_id = :P34_ID order by p.task_order',
    pID_1=>'1',
    pID_2=>'2',
    pSort1=>'N',
    pSort2=>'Y',
    pFixed1=>'Y',
    pHeight=>'300',
    pWidth=>'400',
    pImagePrefix=>v('WORKSPACE_IMAGES')
    NOTE: All above code comes from a working shuttle_sample code. The only things I modified were pSQL_1 and pSQL_2
    - In this case I want to have "All available tasks in the first list"
    - Since the syntax for pSQL_2 item must return two columns I wrote a joined queary so that I can see the Task_Title on the second list although this column doesn't directly come from DM_PROCESS_STEPS.
    I also have a After Submit Process which is fired upon pressing an apply button:
    DECLARE
    BEGIN
    -- Clean the Tasks from current Process --
    delete from dump where process_id = :P34_ID;
    -- Populate the Process with new list
    FOR z in 1..htmldb_application.g_f02.count loop
    INSERT INTO DUMP
    (ID,TASK_ID,PROCESS_ID,TASK_ORDER)
    VALUES (DM_PROCESS_STEPS_SEQ.nextval,htmldb_application.g_f02(z),:P34_ID,z);
    END LOOP;
    END;
    Now, the problem is with htmldb_application.g_f02(z) element. If understand correctly (please verify this!) the value of this element is whatever the pSQL_2 returns in the second column. In this case, htmldb_application.g_f02(z) returns the Task_Id.
    However, when I view the contents of the DM_PROCESS_STEPS table I can see that the first row (or rows) contain PROCESS_ID under TASK_ID column !!! This is were I am most confused as I cannot figure out were these htmldb_application.g_f02(z) come from !!!
    For example:
    1. I am trying to edit tasks for a process with process_id = 421:
    2. In my select list I have 3 tasks (who's task_id are 746,782 and 785)
    When executing the above update process I get the following results:
    ID TASK_ID PROCESS_ID TASK_ORDER
    1737 421 421 1
    1738 421 421 2
    1739 421 421 3
    1740 746 421 4
    1741 782 421 5
    1742 785 421 6
    If I am not mistaken the value of
    htmldb_application.g_f02(1) - should be the Task_Id of the first element on my select list
    htmldb_application.g_f02(2) - should be the Task_Id of the second element on my select list and so on....
    Why does htmldb_application.g_f02(1-3) hold a different value is beyond me !
    Questions which bother me:
    - Is there any way to lookup to 'contents' of htmldb_application.g_f02(1) from a separate SQL session or does it has to be in run-time?
    - Perhaps there is a way to flush or clean the htmldb_application.g_f02 ?
    Your help would be greatelly appriciated !
    Regards,
    Pawel.

  • Please Help with the sql below for hierarchies

    Hi all.
    I have a table named stg_org_hier whose data looks like this
    i would like to build the hierarchy from BU,AREA,REGION,DISTRICT,TERR
    There are data cyles in the data below
    stg_org has this data
    QTR_CD     HIER_LVL_CD CURR_RDT_ID     DISTRICT_RDT_ID
    2007Q4     AREA     E0F7B00000000     E0F7B00000000
    2007Q4     BU     E0F7B00000000     E0F7B00000000
    2007Q4     AREA     E0F7B40000088     E0F7B40000000
    2007Q4     REGION     N0F7B40400000     E0F7B40000000
    2007Q4     REGION     E0F7B40700000     E0F7B40000000
    2007Q4     AREA     E0F7B00000088     E0F7B00000000
    2007Q4     AREA     E0F7B40000000     E0F7B00000000
    2007Q4     DISTRICT     N0F6B40405C99     N0F7B40400000
    2007Q4     REGION     N0F7B40400088     N0F7B40400000
    2007Q4     DISTRICT     N0F7B40405M99     N0F7B40400000
    2007Q4     TERR     N0F1B40405201     N0F7B40405M99
    they would like to see the output in the below in the below form
    QTR_CD     HIER_LVL_CD CURR_RDT_ID     DISTRICT_RDT_ID
    2007Q4     BU     E0F7B00000000     E0F7B00000000
    2007Q4     AREA     E0F7B00000000     E0F7B00000000
    2007Q4     AREA     E0F7B00000088     E0F7B00000000
    2007Q4     AREA     E0F7B40000000     E0F7B00000000
    2007Q4     AREA     E0F7B40000088     E0F7B40000000
    2007Q4     REGION     E0F7B40700000     E0F7B40000000
    2007Q4     REGION     N0F7B40400000     E0F7B40000000
    2007Q4     DISTRICT     N0F6B40405C99     N0F7B40400000
    2007Q4     REGION     N0F7B40400088     N0F7B40400000
    2007Q4     DISTRICT     N0F7B40405M99     N0F7B40400000
    2007Q4     TERR     N0F1B40405201     N0F7B40405M99
    Here is the sql i have written :
    select curr_terr_rdt_id,district_rdt_id,hier_lvl_cd,level from STG_ORG_QTR_SF_HCHY
    connect by prior
    curr_terr_rdt_id=district_rdt_id

    qtr_cd,hier_lvl_cd,curr_rdt_id,  district_rdt_id
    2007Q4,BU,         E0F7B00000000,E0F7B00000000
    2007Q4,AREA,       E0F7B00000000,E0F7B00000000
    2007Q4,AREA,       E0F7B00000088,E0F7B00000000
    2007Q4,AREA,       E0F7B40000000,E0F7B00000000
    2007Q4,AREA,       E0F7B40000088,E0F7B40000000
    2007Q4,REGION,     E0F7B40700000,E0F7B40000000
    2007Q4,REGION,     N0F7B40400000,E0F7B40000000
    2007Q4,DISTRICT,   N0F6B40405C99,N0F7B40400000
    2007Q4,REGION,     N0F7B40400088,N0F7B40400000
    2007Q4,DISTRICT,   N0F7B40405M99,N0F7B40400000
    2007Q4,TERR,       N0F1B40405201,N0F7B40405M99Not having a database at hand right now is helpful this time ;)
    Indenting the data clearly shows that the hierarchy rules are being violated (cycles you are mentioning do not matter in this case):
    Each node must have a unique predecessor except the root having none (in your case data on lines 3 and 4 both point to lines 1 and 2)
    2007Q4,BU,         E0F7B00000000,E0F7B00000000
    2007Q4,AREA,       E0F7B00000000,E0F7B00000000
           2007Q4,AREA,       E0F7B00000088,E0F7B00000000
           2007Q4,AREA,       E0F7B40000000,E0F7B00000000
                  2007Q4,AREA,       E0F7B40000088,E0F7B40000000
                  2007Q4,REGION,     E0F7B40700000,E0F7B40000000
                  2007Q4,REGION,     N0F7B40400000,E0F7B40000000
                         2007Q4,DISTRICT,   N0F6B40405C99,N0F7B40400000
                         2007Q4,REGION,     N0F7B40400088,N0F7B40400000
                         2007Q4,DISTRICT,   N0F7B40405M99,N0F7B40400000
                                2007Q4,TERR,       N0F1B40405201,N0F7B40405M99Removing the first data line or changing it's curr_rdt_id will make hierarhical queries work (lines 1 and 2 would better not point to themself)
    Regards
    Etbin
    Message was edited by: Etbin
    user596003

  • Please help with the sql logic

    The below is going to be a record set from for a view from the FROM CLAUSE
    1. Find component DOCUMENT where the document type = Square Metres (DOC.UOM_STD_ID = 'METR_MTR) If any components are found, retrieve the Document records for these components ONLY.
    2. Otherwise, if no components exist with a Document type = Square Metres, look for components with a Document type of Acres (DOC.UOM_STD_ID = 'ACRE'). If found, retrieve the Space Lease records for these components ONLY.
    3. Otherwise, if the Document does not have components with a type = Square Metres or Acres, look for components with the type of (DOC.UOM_STD_ID = 'PARK'). Then retrieve the departments associated with these parking components.
    For Space Lease records above, retrieve the associated Org ID (SPACE.SPORG).
    Return all departments where
    the associated Org Type (ORG.ORGCLASS) = 'NON'
    or the associated Org Type (ORG.ORGCLASS) = 'GD'
    Thank you

    maybe something like:
    SQL> select emp.empno, emp.ename, emp.deptno
      2    from emp,
      3         (select case when (select 1 from emp where deptno = 10 and rownum  = 1) = 1 then 1
      4                      when (select 2 from emp where deptno = 60 and rownum  = 1) = 2 then 2
      5                      else 3
      6                 end case_col
      7            from dual) d1
      8   where deptno = decode(d1.case_col,1,10,
      9                                     2,60,
    10                                     3,70);
         EMPNO ENAME          DEPTNO
          7839 KING               10
          7782 CLARK              10
          7934 MILLER             10
    SQL> in you code it will be something like:
    select ...
       from document t1,        
            (select case when (select 1 from document doc where DOC.UOM_STD_ID = 'METR_MTR' and rownum  = 1) = 1 then 1
                         when (select 1 from document doc where DOC.UOM_STD_ID = 'ACRE' and rownum  = 1) = 2 then 2
                         else 3
                    end case_col
               from dual) d1
    where t1.uom_std_id = decode(d1.case_col,1,'METR_MTR',
                                             2,'ACRE',
                                             3,'PARK',
                                               null);note: untested

  • Please help with flascomm server plan

    Hello
    I need to broadcast with flashcomm an event for about 150-200
    users (I get
    the signal from a TV tuner and I send it to Flashcomm
    server). Currently I'm
    using Uvault (www.uvault.com) servers but I don't get the
    results I'd like.
    The problem is uvalt gives me up to 5 Mbs of peak bandwidth
    (I have hired
    Flash Media Server Plan 4) and I need a real-time streaming
    of the signal,
    so I'd like to be advised what should I do to get real-time
    streaming.
    Should I hire a Flash Video Plan to Uvault (I really don't
    know how does it
    work) or shuold I hire a plan with any other company. Could
    you tell me
    about other companys that can offer me a higher bandwidth to
    get the real
    time streaming I need?
    Thank you everybody

    If you are talking about their shared Flash Media Server plan
    then that
    could be the problem: it is shared and you are subject to the
    server dealing
    with other users and demand peaks. Perhaps looking at a
    dedicated plan is
    the way to go.
    You might look over the hosting list at
    http://flashcomguru.com/articles/hosts.cfm
    Lon Hosford
    www.lonhosford.com
    Flash, Actionscript and Flash Media Server examples:
    http://flashexamples.hosfordusa.com
    May many happy bits flow your way!
    "Dpto. Programaci�n Prodigia Consultores"
    <[email protected]> wrote
    in message news:e6piae$ce0$[email protected]..
    > Hello
    >
    > I need to broadcast with flashcomm an event for about
    150-200 users (I
    > get the signal from a TV tuner and I send it to
    Flashcomm server).
    > Currently I'm using Uvault (www.uvault.com) servers but
    I don't get the
    > results I'd like. The problem is uvalt gives me up to 5
    Mbs of peak
    > bandwidth (I have hired Flash Media Server Plan 4) and I
    need a real-time
    > streaming of the signal, so I'd like to be advised what
    should I do to get
    > real-time streaming. Should I hire a Flash Video Plan to
    Uvault (I really
    > don't know how does it work) or shuold I hire a plan
    with any other
    > company. Could you tell me about other companys that can
    offer me a higher
    > bandwidth to get the real time streaming I need?
    >
    > Thank you everybody
    >

  • Please help with PL/SQL compiler message

    Hi
    When I compile a procedure, I get the message
    "Expected Symbol Name is missing"
    "Procedure created"
    The procedure actually got created in the database and runs.
    Can someone please let me know the meaning of "Expected Symbol Name is missing" and any side-effects of this message?
    Thanks in advance.

    Suresh,
    I'm getting the message when I start the file that has the code for the stored procedure (like @X.sql). The first line of the code is CREATE OR REPLACE PROCEDURE .....
    Thanks

  • Please help with the sql

    Hi ALL,
    Test_dpnt is a table.from this i want to find the total no.of applications
    (ssc,ssa,ssb,ssd,map,maq,oet,oet)---total 8.
    parent - 2(since oet is indepentdent)
    children---4
    independent-2
    source_app is the parent applications
    dpnt_app---child application of parent
    source_app dpnt_app
    ssc ssa
    ssc ssb
    ssc ssd
    mad map
    mad maq
    oet oet
    I want the output likethis
    total parent child independent
    8 2 4 2
    How to write the sql for this

    still unclear to me on how you will be able to get the output as
    total parent child independent
    8     2      4     2based on the sample data you have posted below:
    app_srce app_dpnt app_dpnt-typ-c
    43       190      R
    43       191      R
    150      200      R
    150      201      R
    300      300      Rdo you mean by the output should look something like this:
    srce count dpnt count
    2          1        
               1        
    2          1
               1
    1          1or that it needs to count all the rows for each of the 3 columns

  • HT5824 I switched over from an iPhone to a Samsung Galaxy S3 & I haven't been able to receive any text messages from iPhones. Please help with turning my iMessage completely off..

    I switched over from an iPhone to a Samsung Galaxy S3 & I haven't been able to receive any text messages from iPhones. I have no problem sending the text messages but I'm not receivng any from iPhones at all. It has been about a week now that I'm having this problem. I've already tried fixing it myself and I also went into the sprint store, they tried everything as well. My last option was to contact Apple directly. Please help with turning my iMessage completely off so that I can receive my texts.

    If you registered your iPhone with Apple using a support profile, try going to https://supportprofile.apple.com/MySupportProfile.do and unregistering it.  Also, try changing the password associated with the Apple ID that you were using for iMessage.

  • How can I sync my iPhone on a different computer without erasing my applications? My iPhone was earlier synced with a PC which I don't use anymore. Please help with proper steps, if any.

    How can I sync my iPhone on a different computer without erasing my applications? My iPhone was earlier synced with a PC which I don't use anymore.
    On the new computer, I am getting a message that my all purchases would be deleted if I sync it with new iTunes library.
    Please help with proper steps, if any.

    Also see... these 2 Links...
    Recovering your iTunes library from your iPod or iOS device
    https://discussions.apple.com/docs/DOC-3991
    Syncing to a New Computer...
    https://discussions.apple.com/docs/DOC-3141

  • Please help with "You can't open the application NovamediaDiskSupressor because PowerPC applications are no longer supported." I have seen other responses on this but am not a techie and would not know how to start with that solution.

    Please help with the message I am receving on startup ""You can't open the application NovamediaDiskSupressor because PowerPC applications are no longer supported."
    I have read some of the replies in the Apple Support Communities, but as I am no techie, I would have no idea how I would implement that solution.
    Please help with what I need to type, how, where, etc.
    Many thanks
    AppleSueIn HunterCreek

    I am afraid there is no solution.
    PowerPC refers to the processing chip used by Apple before they transferred to Intel chips. They are very different, and applications written only for PPC Macs cannot work on a Mac running Lion.
    You could contact the developers to see if they have an updated version in the pipeline.

  • Hi, please help with the installation of Lightroom 4, I bought a new Mac (Apple) and I want to install a software that I have on the album cd. My new computer does not have the drives. Can I download software from Adobe? Is my license number just to be ab

    Hi, please help with the installation of Lightroom 4, I bought a new Mac (Apple) and I want to install a software that I have on the album cd. My new computer does not have the drives. Can I download software from Adobe? Is my license number just to be able to download the srtony adobe.

    Adobe - Lightroom : For Macintosh
    Hal

  • [ETL]Could you please help with a problem accessing UML stereotype attributes ?

    Hi all,
    Could you please help with a problem accessing UML stereotype attributes and their values ?
    Here is the description :
    -I created a UML model with Papyrus tool and I applied MARTE profile to this UML model.
    -Then, I applied <<PaStep>> stereotype to an AcceptEventAction ( which is one of the element that I created in this model ), and set the extOpDemand property of the stereotype to 2.7 with Papyrus.
    -Now In the ETL file, I can find the stereotype property of extOpDemand as follows :
    s.attribute.selectOne(a|a.name="extOpDemand") , where s is a variable of type Stereotype.
    -However I can't access the value 2.7 of the extOpDemand attribute of the <<PaStep>> Stereotype. How do I do that ?
    Please help
    Thank you

    Hi Dimitris,
    Thank you , a minimal example is provided now.
    Version of the Epsilon that I am using is : ( Epsilon Core 1.2.0.201408251031 org.eclipse.epsilon.core.feature.feature.group Eclipse.org)
    Instructions for reproducing the problem :
    1-Run the uml2etl.etl transformation with the supplied launch configuration.
    2-Open lqn.model.
    There are two folders inside MinimalExample folder, the one which is called MinimalExample has 4 files, model.uml , lqn.model, uml2lqn.etl and MinimalExampleTransformation.launch.
    The other folder which is LQN has four files. (.project),LQN.emf,LQN.ecore and untitled.model which is an example model conforming to the LQN metamodel to see how the model looks like.
    Thank you
    Mana

  • Want a complete migration guide to upgrade 11.1.0.7 to 11.2.0.3 database using DBUA..We are implementing R12.1.3 version and then have to migrate the default 11gR1 database to 11.2.0.3 version. Please help with some step by step docs

    Want a complete migration guide to upgrade 11.1.0.7 to 11.2.0.3 database using DBUA..We are implementing R12.1.3 version and then have to migrate the default 11gR1 database to 11.2.0.3 version. Please help with some step by step docs

    Upgrade to 11.2.0.3 -- Interoperability Notes Oracle EBS R12 with Oracle Database 11gR2 (11.2.0.3) (Doc ID 1585578.1)
    Upgrade to 11.2.0.4 (latest 11gR2 patchset certified with R12) -- Interoperability Notes EBS 12.0 and 12.1 with Database 11gR2 (Doc ID 1058763.1)
    Thanks,
    Hussein

  • Help with an SQL Query on the Logger

    We are running UCCE 8.5(3) and need help with an SQL query. When I run the below I would also like to see skill group information(name preferably)? Any help would be greatly appreciated!
    select * from dbo.t_Termination_Call_Detail where DateTime between '10-11-2012 00:00:00:00' and
    '10-11-2012 23:59:59:59'

    David, thanks for replying.  Unfortunitly I don't know enough about SQL to put that into a query and have it return data.  Would you be able to give an example on what the query would look like?

Maybe you are looking for