Newbie Dynamic Group by clause

Example
create table test( awhite numeric(6,0)
, DMonth numeric(2,0)
, Goalnumber numeric(2,0)
, Objnumber numeric(2,0));
insert into test(awhite,DMonth,Goalnumber,Objnumber)
values(5,6,1,1);
insert into test(awhite,DMonth,Goalnumber,Objnumber)
values(8,6,1,2);
insert into test(awhite,DMonth,Goalnumber,Objnumber)
values(12,6,2,1);
insert into test(awhite,DMonth,Goalnumber,Objnumber)
values(16,10,2,1);
insert into test(awhite,DMonth,Goalnumber,Objnumber)
values(4,10,2,1);
===========================
I need this to be ONE query with a parameter
Select SUM(Awhite) SWhite
,DMonth
,CASE WHEN &groupbyobj<2 THEN
to_number('99')
ELSE
Goalnumber
END Goalnumber
,CASE WHEN &groupbyobj<3 THEN
to_number('99')
ELSE
Objnumber
END Objnumber
FROM Test
GROUP BY Goalnumber,Objnumber,DMonth
============================
So when the groupbyobj=3, I want the output to look like
SWHITE DMONTH GOALNUMBER OBJNUMBER
5 6 1 1
8 6 1 2
12 6 2 1
20 10 2 1
==============================
So when the groupbyobj=2, I want it grouped by GOALNUMBER
SWHITE DMONTH GOALNUMBER OBJNUMBER
13 6 1 99
12 6 2 99
20 10 2 99
So when the groupbyobj=1, I want it grouped by DMonth
SWHITE DMONTH GOALNUMBER OBJNUMBER
25 6 99 99
20 10 99 99
I ADDED the above "99" to the output above. I could not get my query to output that.
QUESTION- How can I create A DYNAMIC Group by clause based on the parameter
(Groupbyobj) Selected?
TIA
Steve42

I noticed I got the numbers 1 until 3 just the other way round, so here is a new version.
SQL> var P_GROUPING_SET number
SQL> exec :P_GROUPING_SET := 1
PL/SQL-procedure is geslaagd.
SQL> select sum(awhite) swhite
  2       , dmonth
  3       , nvl(goalnumber,99) goalnumber
  4       , nvl(objnumber,99) objnumber
  5    from test
  6   group by dmonth
  7       , rollup(goalnumber,objnumber)
  8  having case grouping_id(goalnumber,objnumber)
  9           when 0 then 3
10           when 1 then 2
11           when 3 then 1
12         end = :P_GROUPING_SET
13  /
    SWHITE     DMONTH GOALNUMBER  OBJNUMBER
        25          6         99         99
        20         10         99         99
2 rijen zijn geselecteerd.
SQL> exec :P_GROUPING_SET := 2
PL/SQL-procedure is geslaagd.
SQL> select sum(awhite) swhite
  2       , dmonth
  3       , nvl(goalnumber,99) goalnumber
  4       , nvl(objnumber,99) objnumber
  5    from test
  6   group by dmonth
  7       , rollup(goalnumber,objnumber)
  8  having case grouping_id(goalnumber,objnumber)
  9           when 0 then 3
10           when 1 then 2
11           when 3 then 1
12         end = :P_GROUPING_SET
13  /
    SWHITE     DMONTH GOALNUMBER  OBJNUMBER
        13          6          1         99
        12          6          2         99
        20         10          2         99
3 rijen zijn geselecteerd.
SQL> exec :P_GROUPING_SET := 3
PL/SQL-procedure is geslaagd.
SQL> select sum(awhite) swhite
  2       , dmonth
  3       , nvl(goalnumber,99) goalnumber
  4       , nvl(objnumber,99) objnumber
  5    from test
  6   group by dmonth
  7       , rollup(goalnumber,objnumber)
  8  having case grouping_id(goalnumber,objnumber)
  9           when 0 then 3
10           when 1 then 2
11           when 3 then 1
12         end = :P_GROUPING_SET
13  /
    SWHITE     DMONTH GOALNUMBER  OBJNUMBER
         5          6          1          1
         8          6          1          2
        12          6          2          1
        20         10          2          1
4 rijen zijn geselecteerd.

Similar Messages

  • How to handle Group by clause Dynamically in Oracle Form

    Hi Expert,
    Here i have problem :
    i want display record with passing group by clause Parameter
    Example :
    Select zone,district,postal,count(Do_no) ,sum(Sales_Amt)
    from DLV_ORD_mast
    group by :zone,:district,:Postal
    1-o/p like :
    if user pass the :zone parameter in group by clause then record display like below o/p
    zone count sls_amt
    South 2 1000
    central 3 5000
    East 4 600
    2-o/p
    if use pass the :District parameter in group by clause then record display like below O/P
    zone count sls_amt
    South/Dist1 2 1000
    central /Dist2 3 5000
    central /Dist3 1 500
    East /Dist4 4 600
    2-o/p
    if use pass the :postal parameter in group by clause then record display like below O/P
    zone count sls_amt
    South/Dist1/postal1 2 1000
    central /Dist2/Postal2 3 5000
    central /Dist3/postal3 1 500
    East /Dist4/postal4 4 600
    so if anybody come across same senario then Please give me the solution for this problem .
    pleassssssssssssssssssssssssss
    Thanks
    Abhishek

    Build a block one a Query FROM clause, like
    SELECT GROUPCOL,
           CNT,
           SUMM
      FROM (Select zone GROUPCOL,
                   count(Do_no) CNT,
                   sum(Sales_Amt) SUMM
              from DLV_ORD_mast
             group by zone
    )Then at runtime, change the the block QUERY_DATASOURCE_NAME by SET_BLOCK_PROPERTY depending on the parameter, e.g. to
    SELECT GROUPCOL,
           CNT,
           SUMM
      FROM (Select zone ||', '|| DISTRICT GROUPCOL,
                   count(Do_no) CNT,
                   sum(Sales_Amt) SUMM
              from DLV_ORD_mast
             group by zone ||', '|| DISTRICT
    )

  • Group by clause and having clause in select

    hi frnds
    plz give me some information of group by and having clause used in select statement with example
    thanks

    The Open SQL statement for reading data from database tables is:
    SELECT      <result>
      INTO      <target>
      FROM      <source>
      [WHERE    <condition>]
      [GROUP BY <fields>]
      [HAVING   <cond>]
      [ORDER BY <fields>].
    The SELECT statement is divided into a series of simple clauses, each of which has a different part to play in selecting, placing, and arranging the data from the database.
    You can only use the HAVING clause in conjunction with the GROUP BY clause.
    To select line groups, use:
    SELECT <lines> <s1> [AS <a1>] <s2> [AS <a2>] ...
                   <agg> <sm> [AS <am>] <agg> <sn> [AS <an>] ...
           GROUP BY <s1> <s2> ....
           HAVING <cond>.
    The conditions <cond> that you can use in the HAVING clause are the same as those in the SELECT clause, with the restrictions that you can only use columns from the SELECT clause, and not all of the columns from the database tables in the FROM clause. If you use an invalid column, a runtime error results.
    On the other hand, you can enter aggregate expressions for all columns read from the database table that do not appear in the GROUP BY clause. This means that you can use aggregate expressions, even if they do not appear in the SELECT clause. You cannot use aggregate expressions in the conditions in the WHERE clause.
    As in the WHERE clause, you can specify the conditions in the HAVING clause as the contents of an internal table with line type C and length 72.
    Example
    DATA WA TYPE SFLIGHT.
    SELECT   CONNID
    INTO     WA-CONNID
    FROM     SFLIGHT
    WHERE    CARRID = 'LH'
    GROUP BY CONNID
    HAVING   SUM( SEATSOCC ) > 300.
      WRITE: / WA-CARRID, WA-CONNID.
    ENDSELECT.
    This example selects groups of lines from database table SFLIGHT with the value ‘LH’ for CARRID and identical values of CONNID. The groups are then restricted further by the condition that the sum of the contents of the column SEATSOCC for a group must be greater than 300.
    The <b>GROUP BY</b> clause summarizes several lines from the database table into a single line of the selection.
    The GROUP BY clause allows you to summarize lines that have the same content in particular columns. Aggregate functions are applied to the other columns. You can specify the columns in the GROUP BY clause either statically or dynamically.
    Specifying Columns Statically
    To specify the columns in the GROUP BY clause statically, use:
    SELECT <lines> <s1> [AS <a 1>] <s 2> [AS <a 2>] ...
                   <agg> <sm> [AS <a m>] <agg> <s n> [AS <a n>] ...
           GROUP BY <s1> <s 2> ....
    To use the GROUP BY clause, you must specify all of the relevant columns in the SELECT clause. In the GROUP BY clause, you list the field names of the columns whose contents must be the same. You can only use the field names as they appear in the database table. Alias names from the SELECT clause are not allowed.
    All columns of the SELECT clause that are not listed in the GROUP BY clause must be included in aggregate functions. This defines how the contents of these columns is calculated when the lines are summarized.
    Specifying Columns Dynamically
    To specify the columns in the GROUP BY clause dynamically, use:
    ... GROUP BY (<itab>) ...
    where <itab> is an internal table with line type C and maximum length 72 characters containing the column names <s 1 > <s 2 > .....
    Example
    DATA: CARRID TYPE SFLIGHT-CARRID,
          MINIMUM TYPE P DECIMALS 2,
          MAXIMUM TYPE P DECIMALS 2.
    SELECT   CARRID MIN( PRICE ) MAX( PRICE )
    INTO     (CARRID, MINIMUM, MAXIMUM)
    FROM     SFLIGHT
    GROUP BY CARRID.
      WRITE: / CARRID, MINIMUM, MAXIMUM.
    ENDSELECT.
    regards
    vinod

  • GROUP BY clause with Alias

    Hi,
    I am trying to run following query and i tried to run littel different way but no luck.
    If someone can help me out.
    I know that icann't use the alias in GROUP BY clause.
    I am getting errors like "NOT a GROUP BY Function" or Identifier is not valid within my different fromat of the sql.
    For C_CODE (MAx function part_, i have to make a header for each C__CODE and put the corrospondence value for S_TASK.
    SELECT  s_name ,login, f_name, l_name, email, S_ID, S_EMAIL,
    desc, wave,
    MAX(DECODE(C_CODE, '100',S_TASK, '')) "100",
    MAX(DECODE(C_CODE, '150',S_TASK, '')) "150",
    MAX(DECODE(C_CODE, '200',S_TASK, '')) "200"
    FROM
    SELECT  b.S_name, d.login, d.f_name,d.l_name, d.email,
    *(SELECT d.login FROM user d WHERE d.id = c.rep_to_id) AS S_ID,*
    *(SELECT d.email FROM user d WHERE d.id = c.rep_to_id) AS S_EMAIL,*
    e.desc, f.wave, C_CODE, S_TASK
    FROM CT_E_STAK_MAP       A,
    ct_stak           B,
    e_info           C,
    user                D,
    e_code           E,
    e_web_info           F,
    C_STAK_MAP           G,
    C_CORS           H,
    C_S_TASK           I,
    C_S_STAK_MAP           J
    WHERE a.C_stak_id      = b.c_stak_id
    AND   b.c_stak_id      = G.c_stak_id
    AND   B.C_STAK_ID      = J.C_STAK_ID
    AND   J.C_S_TASK_ID      = I.C_S_TASK_ID
    AND   G.C_CORS_ID           = H.C_CORS_ID
    AND   a.U_id              = c.U_id
    AND   a.U_id              = d.id
    AND   d.id              = f.U_id
    AND   c.ctll3           = e.c_st_val
    AND   c.ctl1_2           = e.ctl1_2
    AND   e.c_set_name      = 'EY'
    AND   c.active          = 1
    GROUP BY b.s_name, d.login, d.f_name,d.l_name, d.email,d.login, d.email, S_ID, S_EMAIL,
    e.desc, f.wave, C_CODE, S_TASK
    GROUP BY s_name ,login, f_name, l_name, email, S_ID, S_EMAIL, desc, wave
    Please let me know if you need more info.
    Thanks for your help!

    <ul><li>Thanks for your help!
         I tried to import your query into my existing query but getting error.
         I love to post table/Insert script but i have lots of join tables and also using to retrieve data from those tables in my output results.
         If you see my original query then still you need crate table / Insert data script then please let me know.
         This is my original query:
    <ul><li>SELECT  s_name ,login, f_name, l_name, email, S_ID, S_EMAIL,</li>
    <li>desc, wave, </li>
    <li>MAX(DECODE(C_CODE, '100',S_TASK, '')) "100",</li>
    <li>MAX(DECODE(C_CODE, '150',S_TASK, '')) "150",</li>
    <li>MAX(DECODE(C_CODE, '200',S_TASK, '')) "200"</li>
    <li>FROM </li>
    <li>+(+</li>
    <li>SELECT  b.S_name, d.login, d.f_name,d.l_name, d.email,</li>
    <li>+(SELECT d.login FROM user d WHERE d.id = c.rep_to_id) AS S_ID,+</li>
    <li>+(SELECT d.email FROM user d WHERE d.id = c.rep_to_id) AS S_EMAIL,+</li>
    <li>e.desc, f.wave, C_CODE, S_TASK</li>
    <li> FROM CT_E_STAK_MAP    A,</li>
    <li> ct_stak               B,</li>
    <li> e_info                 C,</li>
    <li> user                               D,</li>
    <li> e_code               E,</li>
    <li> e_web_info                     F, </li>
    <li> C_STAK_MAP                G,</li>
    <li> C_CORS                        H, </li>
    <li> C_S_TASK                     I,</li>
    <li> C_S_STAK_MAP                        J</li>
    <li>WHERE a.C_stak_id     = b.c_stak_id </li>
    <li>AND   b.c_stak_id         = G.c_stak_id</li>
    <li>AND   B.C_STAK_ID     = J.C_STAK_ID</li>
    <li>AND   J.C_S_TASK_ID             = I.C_S_TASK_ID</li>
    <li>AND   G.C_CORS_ID               = H.C_CORS_ID</li>
    <li>AND   a.U_id                = c.U_id </li>
    <li>AND   a.U_id                = d.id </li>
    <li>AND   d.id              = f.U_id </li>
    <li>AND   c.ctll3                 = e.c_st_val </li>
    <li>AND   c.ctl1_2              = e.ctl1_2 </li>
    <li>AND   e.c_set_name     = 'EY' </li>
    <li>AND   c.active              = 1</li>
    <li>GROUP BY b.s_name, d.login, d.f_name,d.l_name, d.email,d.login, d.email, S_ID, S_EMAIL,</li>
    <li> e.desc, f.wave, C_CODE, S_TASK</li>
    <li>+)+</li>
    <li>GROUP BY s_name ,login, f_name, l_name, email, S_ID, S_EMAIL, desc, wave</li>
    </ul>
    </li>
    <li>I tried include your query in my block</li>
    <li><ul><li>SELECT  s_name ,login, f_name, l_name, email, S_ID, S_EMAIL,</li>
    <li>desc, wave, </li>
    <li>+(SELECT DISTINCT+</li>
    <li> +', COUNT (CASE WHEN C_CODE = '''+</li>
    <li>+|| C_CODE+</li>
    <li>+|| ''' ' AS txt1+</li>
    <li>+, 'THEN 1 END) AS '+</li>
    <li>+|| C_CODE+</li>
    <li>+|| '_CNT' AS txt2+</li>
    <li>FROM  C_CORS H1</li>
    <li>ORDER BY       txt1)</li>
    <li>FROM </li>
    <li>+(+</li>
    <li>SELECT  b.S_name, d.login, d.f_name,d.l_name, d.email,</li>
    <li>+(SELECT d.login FROM user d WHERE d.id = c.rep_to_id) AS S_ID,+</li>
    <li>+(SELECT d.email FROM user d WHERE d.id = c.rep_to_id) AS S_EMAIL,+</li>
    <li>e.desc, f.wave, C_CODE, S_TASK</li>
    <li> FROM CT_E_STAK_MAP    A,</li>
    <li> ct_stak               B,</li>
    <li> e_info                 C,</li>
    <li> user                               D,</li>
    <li> e_code               E,</li>
    <li> e_web_info                     F, </li>
    <li> C_STAK_MAP                G,</li>
    <li> C_CORS                        H, </li>
    <li> C_S_TASK                     I,</li>
    <li> C_S_STAK_MAP                        J</li>
    <li>WHERE a.C_stak_id     = b.c_stak_id </li>
    <li>AND   b.c_stak_id         = G.c_stak_id</li>
    <li>AND   B.C_STAK_ID     = J.C_STAK_ID</li>
    <li>AND   J.C_S_TASK_ID             = I.C_S_TASK_ID</li>
    <li>AND   G.C_CORS_ID               = H.C_CORS_ID</li>
    <li>AND   a.U_id                = c.U_id </li>
    <li>AND   a.U_id                = d.id </li>
    <li>AND   d.id              = f.U_id </li>
    <li>AND   c.ctll3                 = e.c_st_val </li>
    <li>AND   c.ctl1_2              = e.ctl1_2 </li>
    <li>AND   e.c_set_name     = 'EY' </li>
    <li>AND   c.active              = 1</li>
    <li>GROUP BY b.s_name, d.login, d.f_name,d.l_name, d.email,d.login, d.email, S_ID, S_EMAIL,</li>
    <li> e.desc, f.wave, C_CODE, S_TASK</li>
    <li>+)+</li>
    <li>GROUP BY s_name ,login, f_name, l_name, email, S_ID, S_EMAIL, desc, wave</li>
    </ul>
    </li>
    <li>I want result like:</li>
    <li>+
    S_name ,login, f_name, l_name, email, S_ID, S_EMAIL, desc, wave, C_Code1, C_code2, C_Code (This will dynamically)
    +p p1 p1s s [[email protected]|mailto:[email protected]] d1 [[email protected]|mailto:[email protected]] 'test' wave1 Eco Math Eng....+
    +</li>
    </ul>
    +
    I hope explained properly what you are asking.+
    +Thanks once again!
    +

  • Why is the GROUP BY clause not working in my Query?

    Dear All,
    Below is the Query for a Summary Debtors Aged Analysis.
    The GROUP BY clause does not seem to be working.
    The Query returns all the unpaid invoices, instead of a single total row for each Customer.
    If a Customer X has 10 unpaid invoices, 10 rows are displayed - one for each invoice.
    I was expecting only 1 row for Customer X, 1 for Customer Y, etc.
    This is what GROUP BY is supposed to do, but it is not doing its work.
    What has gone wrong?
    Thanks
    Leon Lai
    Here's my Query:
    declare @taxdt datetime
    set @taxdt
    /*select 1 from jdt1 t0 where t0.TaxDate*/ = [%1]
    SELECT
    CASE
                 WHEN T0.Account = 1220101 THEN 'Prim Cust'
                 WHEN T0.Account = 1220102 THEN 'Fgn Cust'
                 WHEN T0.Account = 1220103 THEN 'Local Cust'
                 WHEN T0.Account = 1220104 THEN 'Staff Loan' 
                 WHEN T0.Account = 1220105 THEN 'Dep with TP'
                 WHEN T0.Account = 1220106 THEN 'Adv to Cust'
                 WHEN T0.Account = 1220108 THEN 'Sund Drs'
                 ELSE 'Error ! ! !'
    END AS 'Control A/c',
    T1.CardCode AS 'BP Code',
    T2.Notes2 AS 'BP Name',
    SUM ((T0.Debit - T0.Credit)) AS 'Orig. Rs',       
    SUM ((T0.BalDueDeb - T0.BalDueCred)) AS 'Bal. Rs',     
    ((SELECT SUM(T0.BalDueDeb) - Sum(T0.BalDueCred)
        WHERE DateDiff(mm, T0.TaxDate, @taxdt) = 1))    
        AS '1 Mth Ago' 
    /* Similarly for other age brackets*/
    FROM JDT1 T0
    INNER JOIN OCRD T1 ON T0.ShortName = T1.CardCode
    LEFT OUTER JOIN OCPR T2 ON T1.CardCode = T2.Cardcode
    LEFT OUTER JOIN OJDT T3 ON T0.TransID = T3.TransID
    LEFT OUTER JOIN OINV  T4 ON T3.TransID = T4.TransID
    LEFT OUTER JOIN ORIN  T5 ON T3.TransID = T5.TransID
    WHERE
    T1.CardType = 'C'
    and (Balance) != 0
    and (T0.BalDueDeb - T0.BalDueCred) != 0
    GROUP BY T0.Account, T1.CardCode, T2.Notes2, T0.TaxDate

    Dear Neetu,
    Thanks for your reply.
    This Query is a modification of the Query you posted in SAP B1 SQL TIPS & TRICKS
    http://wiki.sdn.sap.com/wiki/display/B1/SAPB1SQLB-FNDebtorsAgingReportbydate
    So, maybe instead of referring to my Query, let's refer to yours. It may be easier for you to understand me.
    Once I understand the problem, I can adapt your query to suit my requirements
    So, let's start with a clean slate:
    The Query you have posted is for a DETAILED Debtors Aging Report.
    This lists all outstanding invoices, and ages them in the Age Brackets.
    What I want is a SUMMARY Debtors Aging Report.
    This will give the total amount owed by each Customer, and this amount is broken down in the Age Bracket Columns
    There will be a single row listed for each customer, something like this:
    Customer     Total Due     Current      1 Mth          2 Mth         3 Mth  etc
    Alfred       500,000       300,000       200,000
    Charles      800,000                     100,000       300,000       400,000
    How can you modify your query to make it become a Summary Report (1 line for each customer even if he has many invoices)?
    Thanks
    Leon Lai
    Here's your code
    SELECT T1.CardCode, T1.CardName, T1.CreditLine, T0.RefDate, T0.Ref1 'Document Number',
         CASE  WHEN T0.TransType=13 THEN 'Invoice'
              WHEN T0.TransType=14 THEN 'Credit Note'
              WHEN T0.TransType=30 THEN 'Journal'
              WHEN T0.TransType=24 THEN 'Receipt'
              END AS 'Document Type',
         T0.DueDate, (T0.Debit- T0.Credit) 'Balance'
         ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,'[%1]')<=-1),0) 'Future'
         ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,'[%1]')>=0 and DateDiff(day, T0.DueDate,'[%1]')<=30),0) 'Current'
         ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,'[%1]')>30 and DateDiff(day, T0.DueDate,'[%1]')<=60),0) '31-60 Days'
         ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,'[%1]')>60 and DateDiff(day, T0.DueDate,'[%1]')<=90),0) '61-90 Days'
         ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,'[%1]')>90 and DateDiff(day, T0.DueDate,'[%1]')<=120),0) '91-120 Days'
         ,ISNULL((SELECT T0.Debit-T0.Credit WHERE DateDiff(day, T0.DueDate,'[%1]')>=121),0) '121+ Days'
    FROM JDT1 T0 INNER JOIN OCRD T1 ON T0.ShortName = T1.CardCode
    WHERE (T0.MthDate IS NULL OR T0.MthDate > [%1]) AND T0.RefDate <= [%1] AND T1.CardType = 'C'
    ORDER BY T1.CardCode, T0.DueDate, T0.Ref1

  • How to write a SQL Query without using group by clause

    Hi,
    Can anyone help me to find out if there is a approach to build a SQL Query without using group by clause.
    Please site an example if is it so,
    Regards

    I hope this example could illuminate danepc on is problem.
    CREATE or replace TYPE MY_ARRAY AS TABLE OF INTEGER
    CREATE OR REPLACE FUNCTION GET_ARR return my_array
    as
         arr my_array;
    begin
         arr := my_array();
         for i in 1..10 loop
              arr.extend;
              arr(i) := i mod 7;
         end loop;
         return arr;
    end;
    select column_value
    from table(get_arr)
    order by column_value;
    select column_value,count(*) occurences
    from table(get_arr)
    group by column_value
    order by column_value;And the output should be something like this:
    SQL> CREATE or replace TYPE MY_ARRAY AS TABLE OF INTEGER
      2  /
    Tipo creato.
    SQL>
    SQL> CREATE OR REPLACE FUNCTION GET_ARR return my_array
      2  as
      3   arr my_array;
      4  begin
      5   arr := my_array();
      6   for i in 1..10 loop
      7    arr.extend;
      8    arr(i) := i mod 7;
      9   end loop;
    10   return arr;
    11  end;
    12  /
    Funzione creata.
    SQL>
    SQL>
    SQL> select column_value
      2  from table(get_arr)
      3  order by column_value;
    COLUMN_VALUE
               0
               1
               1
               2
               2
               3
               3
               4
               5
               6
    Selezionate 10 righe.
    SQL>
    SQL> select column_value,count(*) occurences
      2  from table(get_arr)
      3  group by column_value
      4  order by column_value;
    COLUMN_VALUE OCCURENCES
               0          1
               1          2
               2          2
               3          2
               4          1
               5          1
               6          1
    Selezionate 7 righe.
    SQL> Bye Alessandro

  • How to use order by within Group by clause

    Hi All,
    I need a help as to how should i use the Order by clause so that the data should be in order with respect to one column, and at the same time whole data is grouped by some other column...like
    Select RaceNo,Venue,FP,BP from Race group by RaceNo
    Here I want to order by FP in ascending order for each group. When i am using it , whole order is changing.
    Can anybody suggest me how to use order by clause that would apply to each group of data.
    Thanks .

    order by clause should be used at the last in any query.......but in group by clause u can't use use that becoz u group according to column then no ordering is needed there......if u want to filter something then u can use having clause and later if u need to arrange then u can use order by clause.........
    i hope this eg.l gives u some clarification....
    e.g
    select deptno,count(empno)
    from dept
    group by deptno
    having count(empno) > 10
    order by deptno

  • Creation of view with clob column in select and group by clause.

    Hi,
    We are trying to migrate a view from sql server2005 to oracle 10g. It has clob column which is used in group by clause. How can the same be achived in oracle 10g.
    Below is the sql statament used in creating view aling with its datatypes.
    CREATE OR REPLACE FORCE VIEW "TEST" ("CONTENT_ID", "TITLE", "KEYWORDS", "CONTENT", "ISPOPUP", "CREATED", "SEARCHSTARTDATE", "SEARCHENDDATE", "HITS", "TYPE", "CREATEDBY", "UPDATED", "ISDISPLAYED", "UPDATEDBY", "AVERAGERATING", "VOTES") AS
      SELECT content_ec.content_id,
              content_ec.title,
              content_ec.keywords,
              content_ec.content content ,
              content_ec.ispopup,
              content_ec.created,
              content_ec.searchstartdate,
              content_ec.searchenddate,
            COUNT(contenttracker_ec.contenttracker_id) hits,
              contenttypes_ec.type,
              users_ec_1.username createdby,
              Backup_Latest.created updated,
              Backup_Latest.isdisplayed,
              users_ec_1.username updatedby,
              guideratings.averagerating,
              guideratings.votes
         FROM users_ec users_ec_1
                JOIN Backup_Latest
                 ON users_ec_1.USER_ID = Backup_Latest.USER_ID
                RIGHT JOIN content_ec
                JOIN contenttypes_ec
                 ON content_ec.contenttype_id = contenttypes_ec.contenttype_id
                 ON Backup_Latest.content_id = content_ec.content_id
                LEFT JOIN guideratings
                 ON content_ec.content_id = guideratings.content_id
                LEFT JOIN contenttracker_ec
                 ON content_ec.content_id = contenttracker_ec.content_id
                LEFT JOIN users_ec users_ec_2
                 ON content_ec.user_id = users_ec_2.USER_ID
         GROUP BY content_ec.content_id,
         content_ec.title,
         content_ec.keywords,
         to_char(content_ec.content) ,
         content_ec.ispopup,
         content_ec.created,
         content_ec.searchstartdate,
         content_ec.searchenddate,
         contenttypes_ec.type,
         users_ec_1.username,
         Backup_Latest.created,
         Backup_Latest.isdisplayed,
         users_ec_1.username,
         guideratings.averagerating,
         guideratings.votes;
    Column Name      Data TYpe
    CONTENT_ID     NUMBER(10,0)
    TITLE          VARCHAR2(50)
    KEYWORDS     VARCHAR2(100)
    CONTENT          CLOB
    ISPOPUP          NUMBER(1,0)
    CREATED          TIMESTAMP(6)
    SEARCHSTARTDATE     TIMESTAMP(6)
    SEARCHENDDATE     TIMESTAMP(6)
    HITS          NUMBER
    TYPE          VARCHAR2(50)
    CREATEDBY     VARCHAR2(20)
    UPDATED          TIMESTAMP(6)
    ISDISPLAYED     NUMBER(1,0)
    UPDATEDBY     VARCHAR2(20)
    AVERAGERATING     NUMBER
    VOTES          NUMBERAny help realyy appreciated.
    Thanks in advance
    Edited by: user512743 on Dec 10, 2008 10:46 PM

    Hello,
    Specifically, this should be asked in the
    ASP.Net MVC forum on forums.asp.net.
    Karl
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer.
    My Blog: Unlock PowerShell
    My Book: Windows PowerShell 2.0 Bible
    My E-mail: -join ('6F6C646B61726C40686F746D61696C2E636F6D'-split'(?<=\G.{2})'|%{if($_){[char][int]"0x$_"}})

  • -- SQL -- GROUP BY clause: non-aggregate fields mandate

    Hello,
    I was studying Databases, (particularly the retrieval of the data), and found something interesting.
    While using an Aggregate Function in the SELECT clause, it is mandatory to have all the non-aggregate fields in the SELECT clause to be there in the GROUP BY clause.
    For example,
    SELECT dept_no, SUM(salary)
    FROM employee
    GROUP BY dept_no;
    The above SQL works fine.
    But, what if the user misses the dept_no in the GROUP BY clause or he/she misses the GROUP BY clause itself?
    Certainly, it is an error.
    Why is this error not handled by the database. I mean, the database should be smart/intelligent enough to add the GROUP BY clause by itself. So suppose, if I miss out the GROUP BY clause or miss a non-aggregate field from the SELECT clause when I am having at least one aggregate function on a field with at least one non-aggregated field in the SELECT clause, the database should check the GROUP BY clause at time of compilation and add the mandate missed out fields in the GROUP BY clause.
    Example,
    SQL1:_
    SELECT dept_no, SUM(salary)
    FROM employee
    GROUP BY dept_no;
    SQL2:_
    SELECT dept_no, SUM(salary)
    FROM employee;
    Here, the SQL1 and SQL2, both should give me same outputs without an error.
    I am unable to understand why is this not handled?

    Hi,
    998478 wrote:
    ... If we mix aggregate and non-aggregate values then there must be a GROUP BY clause containing all the non-aggregate values. Why is this not handled by the database/compiler itself? It IS handled by the compiler itself. The compiler handles it by raising an error. The compiler has no way of knowing whether you want to remove something from the SELECT clause, or to add something to the GROUP BY clause, or not to use aggregate functions, or to use more aggregate functions, or some combination of the above. If the compiler re-wrote your code, and did any of these things automatically, it would be wrong more often than it was right, and you would (rightly) be complaining about its behavior.
    For example, this is clearly wrong:
    SELECT    deptno
    ,       job
    ,       SUM (sal)
    FROM       scott.emp
    GROUP BY  deptno
    ;What is the right way to fix it?
    <h3>1. Remove something from the SELECT clause</h3>
    SELECT    deptno
    ,       SUM (sal)
    FROM       scott.emp
    GROUP BY  deptno
    ;<h3>2. Add something to the GROUP BY clause</h3>
    SELECT    deptno
    ,       job
    ,       SUM (sal)
    FROM       scott.emp
    GROUP BY  deptno
    ,         job
    ;<h3>3. Not use aggregate functions</h3>
    SELECT    deptno
    ,       job
    ,       sal
    FROM       scott.emp
    ;<h3>4. Use more aggregate functions</h3>
    SELECT    deptno
    ,       MIN (job)
    ,       SUM (sal)
    FROM       scott.emp
    GROUP BY  deptno
    ;These aren't all the options, either. For example, the correct fix might be to use analytic functions instead of aggregate functions.
    How can anybody say which of these is right? All of them are the right answer for some problem.
    By the way, saying that everying in the SELECT clause must be an aggregate or in the GROUP BY clause is a bit over-simplified.
    More completely, here are the ABC's of GROUP BY:
    When you use a GROUP BY clause and/or an aggregate function, then everything in the SELECT clause must be:
    (A) an <b>A</b>ggregate function,
    (B) one of the "group <b>B</b>y" expressions,
    (C) a <b>C</b>onstant, or
    (D) something that <b>D</b>epends entirely on the above. (For example, if you "GROUP BY TRUNC(dt)", you can SELECT "TO_CHAR (TRUNC(dt), 'Mon-DD')").
    Edited by: Frank Kulash on Apr 13, 2013 1:44 PM
    Added code examples.

  • Use Granfeldts Create Object to create dynamic groups

    Trying to use Sorens Granfeldts, Create Object WF activity to create dynamic groups.
    In a standard function evaluator activity I generate the Filter as [//WorkflowData/Filter]
    The "string" I set it to is:
    &lt;Filter xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; Dialect=&quot;http://schemas.microsoft.com/2006/11/XPathFilterDialect&quot; xmlns=&quot;http://schemas.xmlsoap.org/ws/2004/09/enumeration&quot;&gt;/Person[ObjectID
    = /*[ObjectID = &apos;8dfcb5e8-ff01-400c-8ca7-2a0002d2d2d4&apos;]/ComputedMember]&lt;/Filter&gt;
    In the CreateObject activity I then just have [//WorkflowData/Filter],Filter among the initial values.
    The creation works if I remove this attribute so the rest of the attributes seems to be working.
    The creation fails however end I get the error below in the Forefront Identity Manager event log.
    System.NullReferenceException: Object reference not set to an instance of an object.
       at Microsoft.ResourceManagement.WFActivities.Resolver.GetDisplayStringFromGuid(Guid id, String[] expansionAttributes)
       at Microsoft.ResourceManagement.WFActivities.Resolver.ReplaceGuidWithTemplatedString(Match m)
       at System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat)
       at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator)
       at Microsoft.ResourceManagement.WFActivities.Resolver.GetStringAttributeValue(Object attribute)
       at Microsoft.ResourceManagement.WFActivities.Resolver.ResolveEvaluatorWithoutAntiXSS(String match, ResolverOptions resolveOptions)
       at Microsoft.ResourceManagement.WFActivities.Resolver.ResolveEvaluatorForWithAntiXSS(String match, ResolverOptions resolveOptions)
       at Microsoft.ResourceManagement.WFActivities.Resolver.ReplaceMatches(String input, Boolean useAntiXssEncoding, ResolverOptions resolveOptions)
       at Microsoft.ResourceManagement.Workflow.Hosting.ResolverEvaluationServiceImpl.ResolveLookupGrammar(Guid requestId, Guid targetId, Guid actorId, Dictionary`2 workflowDictionary, Boolean encodeForHTML, String expression)
       at Microsoft.ResourceManagement.Workflow.Activities.ResolveGrammarActivity.Execute(ActivityExecutionContext executionContext)
       at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext)
       at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(Activity activity, ActivityExecutionContext executionContext)
       at System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime)
       at System.Workflow.Runtime.Scheduler.Run()
    Have anyone used this WF activity to create dynamic groups and can tell how to set the Filter?

    Hey Kent!
    I did the same thing, with Søren`s Create Object WF. I did it like this on the filter part:
    <Filter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Dialect="http://schemas.microsoft.com/2006/11/XPathFilterDialect" xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration">/Person[(Department = '[//Target/ObjectID]')]</Filter>,Filter
    The whole thing looks like this:
    (I use Function evaluator to generate a AccountName for groups based on a clean version of DisplayName).
    [//Target/DisplayName],DisplayName
    SEC_[//WorkFlowData/CleanAccountName],AccountName
    [//Target/Manager],Owner
    Security,Type
    DOMAIN_STRING,Domain
    Universal,Scope
    [//Target/DisplayName]_SecGroup,Description
    [//Target/Manager],DisplayedOwner
    None,MembershipAddWorkflow
    True,MembershipLocked
    [//Target/CleanAccountName],MailNickname
    <Filter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Dialect="http://schemas.microsoft.com/2006/11/XPathFilterDialect" xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration">/Person[(Department = '[//Target/ObjectID]')]</Filter>,Filter
    Regards, Remi www.iamblogg.com

  • Problem with the query in group by clause

    hi, i have problem with group by clause, can some one please help me.
    select
    header_id,
    (select sum(nvl(dr,0) - nvl(cr ,0)) from temp_tab a1
    where
    a1.country=a.country
    and a1.source='AP'
    and a1.header_id=a.header_id) WHT,
    sum(dr),
    sum(cr) from temp_tab a
    group by header_id,
    (select sum(nvl(dr,0) - nvl(cr ,0)) from temp_tab a1
    where
    a1.country=a.country
    and a1.source='AP'
    and a1.header_id=a.header_id)
    select * from temp_tab
    drop table temp_tab
    create table temp_tab(header_id number ,line_num number, country varchar2(2),
    source varchar2(2), dr number, cr number,primary key(header_id,line_num));
    insert into temp_tab(header_id, line_num,country, source, dr,cr) values(1, 1,'NL','AP',100,20);
    insert into temp_tab(header_id, line_num,country, source, dr,cr) values(1, 2,'PO','AP',20,20);
    insert into temp_tab(header_id, line_num,country, source, dr,cr) values(1, 3,'NL','AP',70,20);
    insert into temp_tab(header_id, line_num,country, source, dr,cr) values(2, 1,'NL','PA',100,20);
    insert into temp_tab(header_id, line_num,country, source, dr,cr) values(2, 2,'NL','PA',100,20);
    insert into temp_tab(header_id, line_num,country, source, dr,cr) values(3, 1,'KR','PO',100,20);
    commit;
    Appreciate your help.
    Thanks,

    select header_id,
             (select sum(nvl(dr,0) - nvl(cr ,0)) from temp_tab a1
             where a1.country=a.country
             and a1.source='AP'
             and a1.header_id=a.header_id) WHT,
             sum(dr),
             sum(cr)
      from temp_tab a
    group by header_id
    ,countryIt's kinda hard to follow what your query does... maybe because I'm only at my second coffee..
    Edited by: Alex Nuijten on Oct 2, 2009 8:07 AM

  • How to set a group by clause in ODI interface?

    How to set a group by clause in ODI interface?

    In ODI, group by method will be triggered automatically when any one of your mapping contains aggregate functions.
    Thanks,
    Saravanan Rajavel

  • How to include case stmt in group by clause

    Hi i have a question,
    How do i include a case statement in the group by clause?
    For example:
    Select
    (case when x.ctry is null then y.ctry else x.ctry end) as coo,
    sum (x.in_amt)
    from
    tbl1 x,
    tbl2 y
    where
    x.id = y.id
    group by
    (case when x.ctry is null then y.ctry else x.ctry end)
    Assume, I have got millions of records in both the tables, then my guess is, the above query might take huge time to complete.
    Any alternate method to do this?

    cd/ wrote:
    To remove the expression from the GROUP BY clause. I didn't advocate any performance improvements, did I?No you didn't. And your advice can indeed remove the expression from the GROUP BY clause. But I'm still puzzled as to why that would be a goal in itself.
    Regards,
    Rob.

  • LMS 2.6 dynamic groups with wildcards

    Is is possible to build dynamic groups in RME using wildcards or regular expresions? The rules that I want to define would look similar to the following:
    Device.System.Name StartsWith "SW" AND (
    Device.System.Name contains "........X" OR
    Device.System.Name contains "........Y" OR
    Device.System.Name contains "........E" OR
    Device.System.Name contains "........Z")
    Where the device name begins with SW and there is either an X, Y, E or Z in the 8th position of the device name.

    This is not possible. The ruleset matching is based only on the operators available for the given property.
    The best workaround I can give you is to apply your first rule, then manually adjust the membership list based on the other rules. The downside of this is that the membership list would require modification when you add new devices.

  • DIP fails loading dynamic groups into OID

    Hello,
    we're trying to load groups from OeBS into OID and associate them via dynamic groups feature with user records that was loaded earlier as follows:
    personid=18630,cn=dev,cn=hrsyncusers,cn=users,dc=ic,dc=lan
    orcltimezone=Asia/Yekaterinburg
    displayname=NOT ASCII
    employeetype=NOT ASCII
    givenname=NOT ASCII
    postalcode=628484
    orcldateofbirth=19610404000000
    orclgender=F
    departmentnumber=342
    uid=18630
    mail=HRNULL
    cn=NOT ASCII
    initials=NOT ASCII
    street=NOT ASCII
    employeenumber=4824
    middlename=NOT ASCII
    l=NOT ASCII
    orclhiredate=20051107000000
    sn=NOT ASCII
    personid=18630
    c=Russia
    title=NOT ASCII
    objectclass=inetorgperson
    objectclass=person
    objectclass=organizationalperson
    objectclass=orcluserv2
    objectclass=kapitalperson
    objectclass=country
    objectclass=residentialperson
    objectclass=locality
    objectclass=top
    Among other attributes each user entity has 'departmentNumber' that indicates number of his/her department.
    Now trying to load list of departments as dynamic groups with the following config
    files:
    *** DevHRAgentGroups.cfg ***
    [SELECT]
    SELECT psv.version_number
    , pos.name hierarchyname
    , hou.organization_id depno
    , poe.organization_id_parent parent_id
    , REPLACE(hou2.name, '"') parentname
    , poe.organization_id_child child_id
    , REPLACE(hou.name, '"') orgname
    , ldap://idm01.ic.lan:389/cn=DEV,cn=HRSyncUsers,cn=Users,dc=ic,dc=lan??sub?(depar
    tmentnumber='||hou.organization_id||')' ldapuri
    , hrl.meaning org_type
    FROM per_organization_structures pos
    , per_org_structure_versions psv
    , per_org_structure_elements poe
    , hr_all_organization_units hou
    , hr_all_organization_units hou2
    , hr_lookups hrl
    WHERE pos.business_group_id = psv.business_group_id
    AND pos.organization_structure_id = psv.organization_structure_id
    AND pos.primary_structure_flag = 'Y'
    AND psv.date_to IS NULL
    AND poe.org_structure_version_id = psv.org_structure_version_id
    AND poe.business_group_id = hou.business_group_id
    AND poe.organization_id_child = hou.organization_id
    AND poe.business_group_id = hou2.business_group_id
    AND poe.organization_id_parent = hou2.organization_id
    AND hrl.lookup_code = hou.type
    AND hrl.enabled_flag = 'Y'
    AND hrl.lookup_type = 'ORG_TYPE'
    AND hrl.lookup_code NOT IN (30,40)
    AND TRUNC(SYSDATE) BETWEEN hou.date_from AND NVL(hou.date_to, TO_DATE('31.12.4712','dd.mm.yyyy'))
    AND hou.last_update_date >= to_date(:BINDVAR,'YYYYMMDDHH24MISS')
    *** DevHRAgentGroups.map ***
    DomainRules
    NONLDAP:cn=DEV,cn=HRSyncGroups,cn=Groups,dc=ic,dc=lan:departmentID=%,cn=DEV,cn=HRSyncGroups,cn=Groups,dc=ic,dc=lan
    AttributeRules
    orgname:1: : :cn: :groupOfUniqueNames
    depno:1: : :departmentID: :kapitalDepartment
    ldapuri: : : :labeledURI: :orclDynamicGroup
    We're getting the following error in ?/ldap/odi/log/DevHRAgentGroups.trc during HRAgent execution at mapping phase:
    Normalized DN : departmentid=82,cn=dev,cn=hrsyncgroups,cn=groups,dc=ic,dc=lan
    Changetype is 5
    Processing modifyRadd Operation ..
    Entry Not Found. Converting to an ADD op..
    Processing Insert Operation ..
    Performing createEntry..
    Exception creating Entry : javax.naming.NamingException: [LDAP: error code 1 - Dynamic group cache update failed.]; remaining name 'departmentid=82,cn=dev,cn=
    hrsyncgroups,cn=groups,dc=ic,dc=lan'
    [LDAP: error code 1 - Dynamic group cache update failed.]
    javax.naming.NamingException: [LDAP: error code 1 - Dynamic group cache update failed.]; remaining name 'departmentid=82,cn=dev,cn=hrsyncgroups,cn=groups,dc=i
    c,dc=lan'
    at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3028)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2934)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2740)
    at com.sun.jndi.ldap.LdapCtx.c_createSubcontext(LdapCtx.java:777)
    at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_createSubcontext(ComponentDirContext.java:319)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:248)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.createSubcontext(PartialCompositeDirContext.java:236)
    at javax.naming.directory.InitialDirContext.createSubcontext(InitialDirContext.java:176)
    at oracle.ldap.odip.gsi.LDAPWriter.createEntry(LDAPWriter.java:1162)
    at oracle.ldap.odip.gsi.LDAPWriter.insert(LDAPWriter.java:425)
    at oracle.ldap.odip.gsi.LDAPWriter.modifyRadd(LDAPWriter.java:822)
    at oracle.ldap.odip.gsi.LDAPWriter.writeChanges(LDAPWriter.java:349)
    at oracle.ldap.odip.engine.AgentThread.mapExecute(AgentThread.java:655)
    at oracle.ldap.odip.engine.AgentThread.execMapping(AgentThread.java:376)
    at oracle.ldap.odip.engine.AgentThread.run(AgentThread.java:237)
    DIP_LDAPWRITER_ERROR_CREATE
    Error in executing mapping DIP_LDAPWRITER_ERROR_CREATE
    DIP_LDAPWRITER_ERROR_CREATE
    Please, note. Loading is successful if we commenting out mapping line for labeledURI attribute (that's loading static groups).
    Loading is also successful when labeledURI is mapped to
    'ldap://idm01.ic.lan:389/cn=DEV,cn=HRSyncUsers,cn=Users,dc=ic,dc=lan??sub?(objec
    tclass=person)' but this definetly is not what we are going to get.
    I don't have ideas what's wrong for example with the following generated 'labeledURI' attribute:
    ldap://idm01.ic.lan:389/cn=DEV,cn=HRSyncUsers,cn=Users,dc=ic,dc=lan??sub?(departmentnumber=82)
    Any help is appreciated
    Thanks,
    Edward

    Hi Frank,
    there is something wrong with departmentnumber attribute of user records. Searching users with ldapsearch using "departmentnumber=*" filter fails with the following error:
    ldap_search: DSA is unwilling to perform
    ldap_search: additional info: Function Not Implemented
    I think this is probably the cause of failing creation of dynamic groups.
    Searching on other user attributes (cn, uid, employyenumber) works fine.
    Still don't understand what's wrong with this particular attribute.

Maybe you are looking for

  • Footer at the bottom in ALL browsers

    I have been "fighting" quite a while with Dreamweaver (CS4) being a beginner, to make a page that takes the whole monitor whatever the browser and the dimensions of the screen are. The major problem seems to be the footer, that in Safari is visible w

  • Dynamic Text in Form Results

    Anyone know how do I include the dynamic text box data in a form? The user clicks on a picture when then populates a dynamic text field box with the text using external txt files. I then want the user to be able to email the form with some input fiel

  • Media reconnection problem URGENT!

    I am in a very urgent situation. Working on a feature length project and today after opening 2 sequences I was working on yesterday I had to relink media, because my scratch disks were not connected. While relinking, final cut pop up says that some c

  • ITunes broken? Burn playlist stopped working

    Was burning a series of CDs from my iTunes library. Working great, then suddenly stopped working altogether. Inserting a blank CD will open it in the finder as a burnable disk. Clicking "burn playlist to disk" no longer causes anything to happen. Giv

  • Windows of excel and word pop up on desktop.i have unchecked the option for windows on pop.

    windows of excel and word pop up on desktop.i have unchecked the option for windows on pop.but still dey show up