Group by rollup and order by question

hi all,
normally, using order by would sort data based on the column. however, i am using a group by roll up with an order by and my select case contains some case grouping... see my code below.
SELECT
  CASE GROUPING(org) + GROUPING(sbu)
    WHEN 2 THEN 'Grand Total'
    WHEN 1 THEN NULL
    ELSE NULLIF(org, 'ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ')
    END org,
  CASE GROUPING(org) + GROUPING(sbu)
    WHEN 2 THEN NULL
    WHEN 1 THEN 'Total'
    ELSE ipl_rep_sylk_pkg.get_sbu_name(sbu)
    END sbu,
  SUM(ft) ft,
  SUM(pt) pt,
  NULLIF(NVL(SUM(ft),0) + NVL(SUM(pt),0),0) tot,
  NULLIF(NVL(SUM(ter),0) + NVL(SUM(ret),0),0) ter_ret,
  SUM(adds) adds,
  SUM(ins) ins,
  SUM(outs) outs,
  SUM(fft) fft,
  SUM(fpt) fpt,
  NULLIF(NVL(SUM(fft),0) + NVL(SUM(fpt),0),0) ftot,
  SUM(bft) bft,
  SUM(bpt) bpt,
  NULLIF(NVL(SUM(bft),0) + NVL(SUM(bpt),0),0) btot
FROM xxipl_ceo_personnel_tbl
GROUP BY ROLLUP (org, sbu)
ORDER BY org, sbunot sure why but my data always start with the Grand Total Row and ends with all the Total Rows.
is there something wrong with my query?
thanks
allen

A.Sandiego wrote:
not sure why but my data always start with the Grand Total Row and ends with all the Total Rows.Allen,
You have aliassed your columns with the same name as the original columns org and sbu. Your order by now orders by your aliassed expressions instead of the original columns. And the "G" of "Grand Total" is before the "T" of "Total" in the alphabet ;-)
Regards,
Rob.

Similar Messages

  • XML Publisher nested grouping, sum and order by question

    Please help in nested group by, sum and order by question
    My Data look like this:
    <Header>
    <Line1>
         <Part Number></Part Number>
              <Component>
                   <Component1></Component1>
                   <Component1 Amount></Component1 Amount>
              </Component>
              <Component>
                   <Component2></Component2>
                   <Component2 Amount></Component2 Amount>
              </Component>
    </Line1>
    <Line2>
         <Part Number></Part Number>
              <Component>
                   <Component1></Component1>
                   <Component1 Amount></Component1 Amount >
              </Component>
              <Component>
                   <Component2></Component2>
                   <Component2 Amount ></Component2 Amount >
              </Component>
    </Line2>
    </Header>
    I want to print report which is:
    1. Group by part number, component and sum the amount for a part number/component
    2. Order by part number, component
    Here is rtf file for XML publisher report
    <?for-each-group:G_LINES;PART_NUMBER?>
    <?sort:G_LINES;PART_NUMBER;'ascending';data-type='text'?>
    <?if:BREAKDOWN_COUNT>0?>
    Part Number: <?PART_NUMBER?>     Quantity: <?sum (current-group()/SHIP_QTY)?>          Part Count:<?count(current-group()/PART_NUMBER)?>     Breakdown Count:<?count(G_BREAKDOWN/COMPONENT)?>
    <?for-each:current-group()?>
    <?for-each-group:G_BREAKDOWN;COMPONENT?>
    Component: <?COMPONENT?>          Price: <?COMPONENT_PRICE?>
    <?end-for-each?>
    <?end-for-each?>
    <?end if?>
    <?end-for-each?>
    If I add <?sort:G_BREAKDOWN;COMPONENT;'ascending';data-type='text'?> inside G_BREAKDOWN grouping it gives error.
    My XML data file
    <?xml version="1.0"?>
    <!-- Generated by Oracle Reports version 6.0.8.25.0 -->
    <NI_COMMERCIAL_INVOICE_XMLP>
    <LIST_G_HEADER>
    <G_HEADER>
    <COMM_INV_NUMBER>C/901000598</COMM_INV_NUMBER>
    <COMM_INV_VERSION_NUMBER>1</COMM_INV_VERSION_NUMBER>
    <SHIP_FROM_NAME>National Instruments Europe Corp.</SHIP_FROM_NAME>
    <SHIP_FROM_ADDR>H-4031, Debrecen, Hatar ut 1/A</SHIP_FROM_ADDR>
    <SHIP_FROM_CITY></SHIP_FROM_CITY>
    <SHIP_FROM_STATE></SHIP_FROM_STATE>
    <SHIP_FROM_POSTAL_CODE></SHIP_FROM_POSTAL_CODE>
    <SHIP_FROM_COUNTRY>Hungary</SHIP_FROM_COUNTRY>
    <SHIP_TO_NAME>National Instruments Corporation (NIEC)</SHIP_TO_NAME>
    <FORMATTED_SHIP_TO_ADDR>11500 N Mopac Expwy
    Austin, TX 78759-3504
    United States</FORMATTED_SHIP_TO_ADDR>
    <SHIP_TO_ADDR1>11500 N Mopac Expwy</SHIP_TO_ADDR1>
    <SHIP_TO_ADDR2></SHIP_TO_ADDR2>
    <SHIP_TO_ADDR3></SHIP_TO_ADDR3>
    <SHIP_TO_ADDR4></SHIP_TO_ADDR4>
    <SHIP_TO_CITY>Austin</SHIP_TO_CITY>
    <SHIP_TO_STATE>TX </SHIP_TO_STATE>
    <SHIP_TO_POSTAL_CODE>78759-3504</SHIP_TO_POSTAL_CODE>
    <SHIP_TO_COUNTRY>US</SHIP_TO_COUNTRY>
    <SHIP_TO_EMAIL_ADDR></SHIP_TO_EMAIL_ADDR>
    <BILL_TO_ORG_ID>807737</BILL_TO_ORG_ID>
    <SHIPPED_VIA>UPS</SHIPPED_VIA>
    <DELIVERY_TERM>DDU</DELIVERY_TERM>
    <TEXT_FILE_SEPARATOR></TEXT_FILE_SEPARATOR>
    <DELIVERY_COUNT>4</DELIVERY_COUNT>
    <HEADER_WAYBILL></HEADER_WAYBILL>
    <LIST_G_LINES>
    <G_LINES>
    <DELIVERY_ID>2629769</DELIVERY_ID>
    <ORDER_HEADER_ID>1431282</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004434</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-387</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4565737</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>26818</INVENTORY_ITEM_ID>
    <PART_NUMBER>777459-23</PART_NUMBER>
    <PART_DESC>SCC-AI04, 2-CHANNEL ISOLATED ANALOG INPUT</PART_DESC>
    <PART_CUSTOM_DESC>SCC-AI04, Automatic Data Processing Plug-In Board</PART_CUSTOM_DESC>
    <PLANNER_CODE>SCXIH-MPS</PLANNER_CODE>
    <HTS_CODE>8471.80.9000</HTS_CODE>
    <TARIC_CODE>8471.80.0000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>158</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>4</ORIG_SHIP_QTY>
    <UNIT_PRICE>158</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>158</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>4</SHIP_QTY>
    <EXTENDED_PRICE>632</EXTENDED_PRICE>
    <UNIT_WEIGHT>.16</UNIT_WEIGHT>
    <NET_WEIGHT>.64</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/01 NIC</WAYBILL>
    <BREAKDOWN_COUNT>0</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE></BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE></BREAKDOWN_VALUE>
    <COMPONENT></COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE></COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO></COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2629769</DELIVERY_ID>
    <ORDER_HEADER_ID>1431282</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004434</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-387</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4579950</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>143949</INVENTORY_ITEM_ID>
    <PART_NUMBER>779475-01</PART_NUMBER>
    <PART_DESC>SCC-68 I/O CONNECTOR BLOCK WITH 4 SCC SIGNAL CONDITIONING MODULE SLOTS</PART_DESC>
    <PART_CUSTOM_DESC>SCC-68, Screw Terminals</PART_CUSTOM_DESC>
    <PLANNER_CODE>DAQH-MPS</PLANNER_CODE>
    <HTS_CODE>8536.90.4000</HTS_CODE>
    <TARIC_CODE>8536.90.1000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>144</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>10</ORIG_SHIP_QTY>
    <UNIT_PRICE>144</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>144</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>10</SHIP_QTY>
    <EXTENDED_PRICE>1440</EXTENDED_PRICE>
    <UNIT_WEIGHT>1.06</UNIT_WEIGHT>
    <NET_WEIGHT>10.6</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/01 NIC</WAYBILL>
    <BREAKDOWN_COUNT>3</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>CD</COMPONENT>
    <COMPONENT_DESC>Test1</COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>50</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2803.00.0050</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE>Test1</COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY>10</COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>Paper</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>20</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2839.90.0000</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>IP</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>1370</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2629822</DELIVERY_ID>
    <ORDER_HEADER_ID>1425429</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004365</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-372</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4579940</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>22643</INVENTORY_ITEM_ID>
    <PART_NUMBER>777687-20</PART_NUMBER>
    <PART_DESC>SCXI-1320 TEMPERATURE SENSOR TERMINAL BLOCK, CAST</PART_DESC>
    <PART_CUSTOM_DESC>SCXI-1320, Screw Terminals</PART_CUSTOM_DESC>
    <PLANNER_CODE>SCXIH-MPS</PLANNER_CODE>
    <HTS_CODE>8536.90.4000</HTS_CODE>
    <TARIC_CODE>8536.90.1000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>82</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>1</ORIG_SHIP_QTY>
    <UNIT_PRICE>82</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>82</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>1</SHIP_QTY>
    <EXTENDED_PRICE>82</EXTENDED_PRICE>
    <UNIT_WEIGHT>.57</UNIT_WEIGHT>
    <NET_WEIGHT>.57</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/02 NIC</WAYBILL>
    <BREAKDOWN_COUNT>3</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>CD</COMPONENT>
    <COMPONENT_DESC>Test1</COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>5</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2803.00.0050</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE>Test1</COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY>1</COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>Paper</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>2</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2839.90.0000</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>IP</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>75</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2629822</DELIVERY_ID>
    <ORDER_HEADER_ID>1427673</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004391</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-377</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4579948</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>143949</INVENTORY_ITEM_ID>
    <PART_NUMBER>779475-01</PART_NUMBER>
    <PART_DESC>SCC-68 I/O CONNECTOR BLOCK WITH 4 SCC SIGNAL CONDITIONING MODULE SLOTS</PART_DESC>
    <PART_CUSTOM_DESC>SCC-68, Screw Terminals</PART_CUSTOM_DESC>
    <PLANNER_CODE>DAQH-MPS</PLANNER_CODE>
    <HTS_CODE>8536.90.4000</HTS_CODE>
    <TARIC_CODE>8536.90.1000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>144</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>13</ORIG_SHIP_QTY>
    <UNIT_PRICE>144</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>144</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>13</SHIP_QTY>
    <EXTENDED_PRICE>1872</EXTENDED_PRICE>
    <UNIT_WEIGHT>1.06</UNIT_WEIGHT>
    <NET_WEIGHT>13.78</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/02 NIC</WAYBILL>
    <BREAKDOWN_COUNT>3</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>CD</COMPONENT>
    <COMPONENT_DESC>Test1</COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>65</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2803.00.0050</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE>Test1</COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY>13</COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>Paper</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>26</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2839.90.0000</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>IP</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>1781</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2630021</DELIVERY_ID>
    <ORDER_HEADER_ID>1429687</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004410</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-383</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4578220</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>61816</INVENTORY_ITEM_ID>
    <PART_NUMBER>777687-14</PART_NUMBER>
    <PART_DESC>SCXI-1314 FRONT MOUNTING TERMINAL BLOCK</PART_DESC>
    <PART_CUSTOM_DESC>SCXI-1314, Screw Terminals</PART_CUSTOM_DESC>
    <PLANNER_CODE>SCXIH-MPS</PLANNER_CODE>
    <HTS_CODE>8536.90.4000</HTS_CODE>
    <TARIC_CODE>8536.90.1000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>120</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>4</ORIG_SHIP_QTY>
    <UNIT_PRICE>120</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>120</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>4</SHIP_QTY>
    <EXTENDED_PRICE>480</EXTENDED_PRICE>
    <UNIT_WEIGHT>.68</UNIT_WEIGHT>
    <NET_WEIGHT>2.72</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/03 NIC</WAYBILL>
    <BREAKDOWN_COUNT>3</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>CD</COMPONENT>
    <COMPONENT_DESC>Test1</COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>20</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2803.00.0050</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE>Test1</COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY>4</COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>IP</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>452</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>Paper</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>8</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2839.90.0000</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2630054</DELIVERY_ID>
    <ORDER_HEADER_ID>1435114</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004463</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-396</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4580160</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>96909</INVENTORY_ITEM_ID>
    <PART_NUMBER>778729-01</PART_NUMBER>
    <PART_DESC>NI PCI-4474, 4 INPUTS, 24-BIT DYNAMIC SIGNAL ACQUISITION</PART_DESC>
    <PART_CUSTOM_DESC>PCI-4474, Automatic Data Processing Plug-In Board</PART_CUSTOM_DESC>
    <PLANNER_CODE>INSTRHMPS</PLANNER_CODE>
    <HTS_CODE>8471.80.4000</HTS_CODE>
    <TARIC_CODE>8471.80.0000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>960</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>4</ORIG_SHIP_QTY>
    <UNIT_PRICE>960</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>960</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>4</SHIP_QTY>
    <EXTENDED_PRICE>3840</EXTENDED_PRICE>
    <UNIT_WEIGHT>.68</UNIT_WEIGHT>
    <NET_WEIGHT>2.72</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/04 NIC</WAYBILL>
    <BREAKDOWN_COUNT>0</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE></BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE></BREAKDOWN_VALUE>
    <COMPONENT></COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE></COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO></COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    </LIST_G_LINES>
    </G_HEADER>
    </LIST_G_HEADER>
    </NI_COMMERCIAL_INVOICE_XMLP>
    I want my report for part number (which has multiple component) look like:
    Part Number: 779475-01     Quantity: 23          Part Count:2     Breakdown Count:6
    Component: CD          Amount: 115
    Component: IP          Amount: 3151
    Component: Paper          Amount: 46
    Any help or suggestion is appreciated
    RK Shah
    [email protected]

    I am using the latest 10.1.3.2.1 build 87.
    The output that I see is :
    Part Number: 777687-14 Quantity: 4 Part Count:1 Breakdown Count:3
    Component: CD
    Count: 4
    Sum of Component Price: 20
    Component: IP
    Count: 0
    Sum of Component Price: 452
    Component: Paper
    Count: 0
    Sum of Component Price: 8
    Part Number: 777687-20 Quantity: 1 Part Count:1 Breakdown Count:3
    Component: CD
    Count: 1
    Sum of Component Price: 5
    Component: Paper
    Count: 0
    Sum of Component Price: 2
    Component: IP
    Count: 0
    Sum of Component Price: 75
    Part Number: 779475-01 Quantity: 23 Part Count:2 Breakdown Count:3
    Component: CD
    Count: 23
    Sum of Component Price: 115
    Component: Paper
    Count: 0
    Sum of Component Price: 46
    Component: IP
    Count: 0
    Sum of Component Price: 3151
    and the XML data that I used is :
    <?xml version="1.0"?>
    <!-- Generated by Oracle Reports version 6.0.8.25.0 -->
    <NI_COMMERCIAL_INVOICE_XMLP>
    <LIST_G_HEADER>
    <G_HEADER>
    <COMM_INV_NUMBER>C/901000598</COMM_INV_NUMBER>
    <COMM_INV_VERSION_NUMBER>1</COMM_INV_VERSION_NUMBER>
    <SHIP_FROM_NAME>National Instruments Europe Corp.</SHIP_FROM_NAME>
    <SHIP_FROM_ADDR>H-4031, Debrecen, Hatar ut 1/A</SHIP_FROM_ADDR>
    <SHIP_FROM_CITY></SHIP_FROM_CITY>
    <SHIP_FROM_STATE></SHIP_FROM_STATE>
    <SHIP_FROM_POSTAL_CODE></SHIP_FROM_POSTAL_CODE>
    <SHIP_FROM_COUNTRY>Hungary</SHIP_FROM_COUNTRY>
    <SHIP_TO_NAME>National Instruments Corporation (NIEC)</SHIP_TO_NAME>
    <FORMATTED_SHIP_TO_ADDR>11500 N Mopac Expwy
    Austin, TX 78759-3504
    United States</FORMATTED_SHIP_TO_ADDR>
    <SHIP_TO_ADDR1>11500 N Mopac Expwy</SHIP_TO_ADDR1>
    <SHIP_TO_ADDR2></SHIP_TO_ADDR2>
    <SHIP_TO_ADDR3></SHIP_TO_ADDR3>
    <SHIP_TO_ADDR4></SHIP_TO_ADDR4>
    <SHIP_TO_CITY>Austin</SHIP_TO_CITY>
    <SHIP_TO_STATE>TX </SHIP_TO_STATE>
    <SHIP_TO_POSTAL_CODE>78759-3504</SHIP_TO_POSTAL_CODE>
    <SHIP_TO_COUNTRY>US</SHIP_TO_COUNTRY>
    <SHIP_TO_EMAIL_ADDR></SHIP_TO_EMAIL_ADDR>
    <BILL_TO_ORG_ID>807737</BILL_TO_ORG_ID>
    <SHIPPED_VIA>UPS</SHIPPED_VIA>
    <DELIVERY_TERM>DDU</DELIVERY_TERM>
    <TEXT_FILE_SEPARATOR></TEXT_FILE_SEPARATOR>
    <DELIVERY_COUNT>4</DELIVERY_COUNT>
    <HEADER_WAYBILL></HEADER_WAYBILL>
    <LIST_G_LINES>
    <G_LINES>
    <DELIVERY_ID>2629769</DELIVERY_ID>
    <ORDER_HEADER_ID>1431282</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004434</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-387</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4565737</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>26818</INVENTORY_ITEM_ID>
    <PART_NUMBER>777459-23</PART_NUMBER>
    <PART_DESC>SCC-AI04, 2-CHANNEL ISOLATED ANALOG INPUT</PART_DESC>
    <PART_CUSTOM_DESC>SCC-AI04, Automatic Data Processing Plug-In Board</PART_CUSTOM_DESC>
    <PLANNER_CODE>SCXIH-MPS</PLANNER_CODE>
    <HTS_CODE>8471.80.9000</HTS_CODE>
    <TARIC_CODE>8471.80.0000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>158</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>4</ORIG_SHIP_QTY>
    <UNIT_PRICE>158</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>158</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>4</SHIP_QTY>
    <EXTENDED_PRICE>632</EXTENDED_PRICE>
    <UNIT_WEIGHT>.16</UNIT_WEIGHT>
    <NET_WEIGHT>.64</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/01 NIC</WAYBILL>
    <BREAKDOWN_COUNT>0</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE></BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE></BREAKDOWN_VALUE>
    <COMPONENT></COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE></COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO></COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2629769</DELIVERY_ID>
    <ORDER_HEADER_ID>1431282</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004434</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-387</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4579950</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>143949</INVENTORY_ITEM_ID>
    <PART_NUMBER>779475-01</PART_NUMBER>
    <PART_DESC>SCC-68 I/O CONNECTOR BLOCK WITH 4 SCC SIGNAL CONDITIONING MODULE SLOTS</PART_DESC>
    <PART_CUSTOM_DESC>SCC-68, Screw Terminals</PART_CUSTOM_DESC>
    <PLANNER_CODE>DAQH-MPS</PLANNER_CODE>
    <HTS_CODE>8536.90.4000</HTS_CODE>
    <TARIC_CODE>8536.90.1000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>144</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>10</ORIG_SHIP_QTY>
    <UNIT_PRICE>144</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>144</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>10</SHIP_QTY>
    <EXTENDED_PRICE>1440</EXTENDED_PRICE>
    <UNIT_WEIGHT>1.06</UNIT_WEIGHT>
    <NET_WEIGHT>10.6</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/01 NIC</WAYBILL>
    <BREAKDOWN_COUNT>3</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>CD</COMPONENT>
    <COMPONENT_DESC>Test1</COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>50</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2803.00.0050</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE>Test1</COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY>10</COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>Paper</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>20</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2839.90.0000</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>IP</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>1370</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2629822</DELIVERY_ID>
    <ORDER_HEADER_ID>1425429</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004365</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-372</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4579940</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>22643</INVENTORY_ITEM_ID>
    <PART_NUMBER>777687-20</PART_NUMBER>
    <PART_DESC>SCXI-1320 TEMPERATURE SENSOR TERMINAL BLOCK, CAST</PART_DESC>
    <PART_CUSTOM_DESC>SCXI-1320, Screw Terminals</PART_CUSTOM_DESC>
    <PLANNER_CODE>SCXIH-MPS</PLANNER_CODE>
    <HTS_CODE>8536.90.4000</HTS_CODE>
    <TARIC_CODE>8536.90.1000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>82</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>1</ORIG_SHIP_QTY>
    <UNIT_PRICE>82</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>82</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>1</SHIP_QTY>
    <EXTENDED_PRICE>82</EXTENDED_PRICE>
    <UNIT_WEIGHT>.57</UNIT_WEIGHT>
    <NET_WEIGHT>.57</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/02 NIC</WAYBILL>
    <BREAKDOWN_COUNT>3</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>CD</COMPONENT>
    <COMPONENT_DESC>Test1</COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>5</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2803.00.0050</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE>Test1</COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY>1</COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>Paper</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>2</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2839.90.0000</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>IP</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>75</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2629822</DELIVERY_ID>
    <ORDER_HEADER_ID>1427673</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004391</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-377</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4579948</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>143949</INVENTORY_ITEM_ID>
    <PART_NUMBER>779475-01</PART_NUMBER>
    <PART_DESC>SCC-68 I/O CONNECTOR BLOCK WITH 4 SCC SIGNAL CONDITIONING MODULE SLOTS</PART_DESC>
    <PART_CUSTOM_DESC>SCC-68, Screw Terminals</PART_CUSTOM_DESC>
    <PLANNER_CODE>DAQH-MPS</PLANNER_CODE>
    <HTS_CODE>8536.90.4000</HTS_CODE>
    <TARIC_CODE>8536.90.1000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>144</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>13</ORIG_SHIP_QTY>
    <UNIT_PRICE>144</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>144</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>13</SHIP_QTY>
    <EXTENDED_PRICE>1872</EXTENDED_PRICE>
    <UNIT_WEIGHT>1.06</UNIT_WEIGHT>
    <NET_WEIGHT>13.78</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/02 NIC</WAYBILL>
    <BREAKDOWN_COUNT>3</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>CD</COMPONENT>
    <COMPONENT_DESC>Test1</COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>65</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2803.00.0050</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE>Test1</COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY>13</COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>Paper</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>26</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2839.90.0000</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>IP</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>1781</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2630021</DELIVERY_ID>
    <ORDER_HEADER_ID>1429687</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004410</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-383</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4578220</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>61816</INVENTORY_ITEM_ID>
    <PART_NUMBER>777687-14</PART_NUMBER>
    <PART_DESC>SCXI-1314 FRONT MOUNTING TERMINAL BLOCK</PART_DESC>
    <PART_CUSTOM_DESC>SCXI-1314, Screw Terminals</PART_CUSTOM_DESC>
    <PLANNER_CODE>SCXIH-MPS</PLANNER_CODE>
    <HTS_CODE>8536.90.4000</HTS_CODE>
    <TARIC_CODE>8536.90.1000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>120</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>4</ORIG_SHIP_QTY>
    <UNIT_PRICE>120</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>120</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>4</SHIP_QTY>
    <EXTENDED_PRICE>480</EXTENDED_PRICE>
    <UNIT_WEIGHT>.68</UNIT_WEIGHT>
    <NET_WEIGHT>2.72</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/03 NIC</WAYBILL>
    <BREAKDOWN_COUNT>3</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>CD</COMPONENT>
    <COMPONENT_DESC>Test1</COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>20</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2803.00.0050</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE>Test1</COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY>4</COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>IP</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>452</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE>HTS CODE</BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE>8536.90.4000</BREAKDOWN_VALUE>
    <COMPONENT>Paper</COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE>8</COMPONENT_PRICE>
    <COMPONENT_HTS_CODE>2839.90.0000</COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO>HU</COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    <G_LINES>
    <DELIVERY_ID>2630054</DELIVERY_ID>
    <ORDER_HEADER_ID>1435114</ORDER_HEADER_ID>
    <ORDER_NUMBER>10004463</ORDER_NUMBER>
    <CUST_PO_NUMBER>310986-396</CUST_PO_NUMBER>
    <ORDER_LINE_ID>4580160</ORDER_LINE_ID>
    <INVENTORY_ITEM_ID>96909</INVENTORY_ITEM_ID>
    <PART_NUMBER>778729-01</PART_NUMBER>
    <PART_DESC>NI PCI-4474, 4 INPUTS, 24-BIT DYNAMIC SIGNAL ACQUISITION</PART_DESC>
    <PART_CUSTOM_DESC>PCI-4474, Automatic Data Processing Plug-In Board</PART_CUSTOM_DESC>
    <PLANNER_CODE>INSTRHMPS</PLANNER_CODE>
    <HTS_CODE>8471.80.4000</HTS_CODE>
    <TARIC_CODE>8471.80.0000</TARIC_CODE>
    <COUNTRY_OF_ORIGIN>HU</COUNTRY_OF_ORIGIN>
    <ORDER_CURRENCY_CODE>USD</ORDER_CURRENCY_CODE>
    <ORIG_UNIT_PRICE>960</ORIG_UNIT_PRICE>
    <ORIG_SHIP_QTY>4</ORIG_SHIP_QTY>
    <UNIT_PRICE>960</UNIT_PRICE>
    <PRICE_CALC_STEP_NUMBER>100</PRICE_CALC_STEP_NUMBER>
    <PRICE_CALC_CURRENCY_CODE>USD</PRICE_CALC_CURRENCY_CODE>
    <PRICE_CALC_UNIT_PRICE>960</PRICE_CALC_UNIT_PRICE>
    <PRICE_CALC_CONV_RATE>1</PRICE_CALC_CONV_RATE>
    <SHIP_QTY>4</SHIP_QTY>
    <EXTENDED_PRICE>3840</EXTENDED_PRICE>
    <UNIT_WEIGHT>.68</UNIT_WEIGHT>
    <NET_WEIGHT>2.72</NET_WEIGHT>
    <ACQ_SOURCE_CODE></ACQ_SOURCE_CODE>
    <ACQ_ORDER_NUMBER></ACQ_ORDER_NUMBER>
    <ACQ_SOURCE_ORDER_NUMBER></ACQ_SOURCE_ORDER_NUMBER>
    <ACQ_SELLING_PRICE>0</ACQ_SELLING_PRICE>
    <SUBINVENTORY>NIEC Stage</SUBINVENTORY>
    <SHIP_TO_SITE_USE_ID>807736</SHIP_TO_SITE_USE_ID>
    <FREIGHT_COST>0</FREIGHT_COST>
    <PAYMENT_TERMS>NIH InterCo</PAYMENT_TERMS>
    <WAYBILL>901000598/04 NIC</WAYBILL>
    <BREAKDOWN_COUNT>0</BREAKDOWN_COUNT>
    <LIST_G_BREAKDOWN>
    <G_BREAKDOWN>
    <BREAKDOWN_TYPE></BREAKDOWN_TYPE>
    <BREAKDOWN_VALUE></BREAKDOWN_VALUE>
    <COMPONENT></COMPONENT>
    <COMPONENT_DESC></COMPONENT_DESC>
    <COMPONENT_CUSTOM_DESC></COMPONENT_CUSTOM_DESC>
    <COMPONENT_PRICE></COMPONENT_PRICE>
    <COMPONENT_HTS_CODE></COMPONENT_HTS_CODE>
    <COMPONENT_TARIC_CODE></COMPONENT_TARIC_CODE>
    <COMPONENT_COO></COMPONENT_COO>
    <COMPONENT_QTY></COMPONENT_QTY>
    </G_BREAKDOWN>
    </LIST_G_BREAKDOWN>
    </G_LINES>
    </LIST_G_LINES>
    </G_HEADER>
    </LIST_G_HEADER>
    </NI_COMMERCIAL_INVOICE_XMLP>

  • Time series and Order series questions

    Hi Guys - Need some help in understanding/Visualizing some basic APO concepts. I do not want to move further without understanding these concepts completely. I did read sap help and couple of apo books but none gave me a complete understanding of this very basic concept.
    1. Data is stored in livecache in 3 different ways. time series, order series and atp time series. for now I am concentrating on just time series and order series. Can some one help me understand with an example how data is stored in time series and how it is stored in order series? I read that data which is not order related is called time series data and which is order related is called order series data.
    My query is even in DP time series data, data is stored with respect to product and location that is transferred to snp. In SNP too data is processed with respect to product and location. so what is the difference in time series data and order series data?
    2. what are time series key figures and what are order series key figures? I read safety stock for example is a time series keyfigure. why is it not a order series key figure? what makes a keyfigure time series or order series? can some one xplain this in detail with an example or numbers?
    3. there is a stock category group in snp tab of location master LOC3. Stock category should be product related right? how is this related to location and what does this field mean in location master
    Thanks a lot for your help in advance. Please let me know if I am not clear in any of the questions.

    Hi,
    Time series:  Data is stored in buckets with no reference to orders.( If you place the mouse on time series data and right click for
                         display details , you will not find any information.
                          Suitable for tactical planing and aggregated planning. Usually in demand planning.
    Pre requisite: 1. You need to create time series objects for the planning area.
                           2. When creating planning area you should not make any entries for the Key figure in the field Info Cube, category
                               and  category group.
                           3. When creating planning area any entry you made in the field Key figure semantics with prefixed with TS.
                               (Optional entry)
    Order series: Data is stored in buckets with reference to orders.( If you place the cursor on the order series data and right click
                          the mouse for display details , you will find information of order details.)
                         Useful for operative planning.
                         *You will have real time integration with R3.
    Pre requisite: 1. You need to create time series objects for the planning area.( though you are creating Order series)
                          2.When creating a planning area specify a category or category group or enter a key figure semantics with prefix
                            LC.
                         3. When creating planning area you should not make an entry for the key figure in the field Info cube.
    Thanks,
    nandha

  • Oracle to File, filename and order by question

    Hello
    I am writing a simple interface, source is an oracle table and destination is a flat file.
    I have two questions:
    1) the file name should be in the form allocation_ddmmyyyy.txt, where ddmmyyyy is the current date. which is the best way to accomplish this?
    2) the file should be sorted with some criteria, which could be easily achieved with an order by clause in the source datastore, but looks this is not possible. How could I do this?

    Hello.
    My Idea follows
    (1) You create ODI Variables,then you may set ODI Variables to resource Name of data-store.
    detail Example (i) you create the ODI-Variable "FILENAME" to GLOBAL
    detail Example (ii) you set #FILENAME to resource name of data-store.
    detail Example (iii) startscen.sh SCENARIONAME VERSION CONTEXT GLOBAL.FILENAME=allocation_ddmmyyyy.txt
    (in other method, invocation API, ODI Public Web Services via Oracle WebServiceProxy API/BPEL PartnerLink invoke)
    (2) you customise IKM. you add "order by criteria" to the command "Insert new rows" 's SQL.
    If criteria is not const, you should use ODI Variables or Java Variables.
    othewise,you may use harcord literal.
    Please challenge my idea.
    Message was edited by:
    futokiyo

  • Different order of subgroups groups per configuration in order by clause

    Hello,
    I have a question regarding Order by and group by of SQL. I have three tables, Groupconfig and ItemConfig and Items.
    Group has a extra field which will specify the sorting order of the items when read out from the database.
    I have the choice of Sorting by alpa description of the item or a sorting order defined on the item table.
    But when I write some SQL to retrieve all the items in the items table and join to the item config table, to get the description of the item and the sorting number,
    then join again to the groupconfig table to get the sorting of each group.
    Problem is that when I run the query the data is not quite returned in the correct order in each group as defined in the group config for each group.
    I know there are differences with the NLS_SORT variable in Oracle but I have a feeling that this is more to do with my SQL can someone help?
    I require the overall groups to be retuned by group ID, and within each group a different ordering.
    SELECT * FROM
    SELECT
    GC.GROUPID GP_GROUPID,
    GC.DESCRIP GP_DESCRIP,
    GC.SORTING_ORDER GP_SORTINGORDER,
    IC.SORTING_ORDER IC_SORDER,
    IC.DESCR IC_DESCRIPTION,
    IC.ITEMID IC_ITEMID,
    RID.UNIT I_UNIT,
    IC.SORTING_ORDER
    FROM
    RF_ITEMDETAILS RID,
    RF_ITEMCONFIG IC,
    RF_GROUPCONFIG GC
    WHERE
    IC.ITEMID = RID.ITEMID
    AND GC.GROUPID = IC.GROUPID
    ORDER BY
    CASE WHEN GC.SORTING_TYPE = 'N' THEN IC.SORTING_ORDER END,
    CASE WHEN GC.SORTING_TYPE = 'A' THEN IC.DESCR END
    ) GP
    ORDER BY GP.GP_SORTINGORDER
    But when I run this second group is correct and ordered by Numeric sorting but the first group by the sorting number field is never correct.
    Doe this SQL look correct or does anyone know if a good performat way to do this?

    maaher cant beleive I actually asked that question. thanks for your reply.
    I have changed my SQL to build up the Orber by clause using the case statements like so....( and added Product Group table in also!)
    SELECT
    PC.PRODUCTID PC_ID,
    PC.DESCR PC_DESC,
    PC.SORTING_ORDER PC_SORT,
    GC.GROUPID GC_GROUPID,
    GC.DESCRIP GC_DESCRIP,
    GC.SORTING_ORDER GC_SORTINGORDER,
    IC.ITEMID IC_ITEMID,
    IC.DESCR IC_DESCRIPTION,
    IC.SORTING_ORDER IC_SORDER,
    RID.UNIT ID_UNIT
    FROM
    RF_ITEMDETAILS RID,
    RF_ITEMCONFIG IC,
    RF_GROUPCONFIG GC,
    RF_PRODUCTCONFIG PC
    WHERE
    -- Item Configuration
    IC.ITEMID = RID.ITEMID
    AND IC.VISIBLE = 'Y'
    -- Group Configuration
    AND GC.GROUPID = IC.GROUPID
    AND GC.VISIBLE = 'Y'
    -- Product Configuration
    AND PC.PRODUCTID = GC.PRODUCTID
    AND PC.VISIBLE = 'Y'
    -- Order by
    ORDER BY
    PC.SORTING_ORDER,
    CASE WHEN PC.SORTING_TYPE = 'N' THEN GC.SORTING_ORDER END,
    CASE WHEN PC.SORTING_TYPE = 'A' THEN GC.DESCRIP END,
    CASE WHEN GC.SORTING_TYPE = 'N' THEN IC.SORTING_ORDER END,
    CASE WHEN GC.SORTING_TYPE = 'A' THEN IC.DESCR END

  • 3 Table Join with group by and order by clauses

    I am porting from MySQL to Oracle 8i. I have a three Table Join in MySQL as follows:
    select distinct TO_DAYS(l.listend)-TO_DAYS(NOW()) AS daysLeft, i.minbid, l.listend, i.itemid, i.itemtitle, l.listingid, l.lendstart, l.lendend, l.status, MAX(b.amount) AS curBid, COUNT(b.amount) AS numBids from TBL_ITEMS i, TBL_LISTING l LEFT JOIN TBL_BIDS b ON l.listingid=b.listingid where i.itemid = l.itemid AND l.status='1' AND (TO_DAYS(l.listend)-TO_DAYS(NOW()) >= 0) AND i.catcode LIKE'12__' GROUP BY listingid order by curBid DESC, daysLeft;
    It performs an straight join on the first 2 tables (TBL_ITEMS and TBL_LISTING) and a LEFT JOIN between the previous result set and TBL_BIDS. TBL_BIDS uses a group by clause to obtain MAX and COUNT info. This final result set is the sorted (ORDER BY).
    I have tried to reconstruct this type of call in Oracle and have failed. Several problems that I have notices: Oracle does not let me pull in additional columns when doing a GROUP BY clause.
    (see below for my work around)
    I have worked around the problem by creating a TABLE with the group by functionality and doing a straing 3 table join. (NOTE: I cannot create a view because use a LIKE function in the call... view dont have indexes). However, when I try to alias the column that returns DATE subtraction ("l.listend-TRUNC(SYSDATE) daysLeft" OR "l.listend-TRUNC(SYSDATE) dayLeft") I cannot use the LIKE statement.
    Here is my question. How do I port the above 3-table MySQL call to Oracle. Why am I having these problems (is it the Oracle optimizer?) and how do I avaopid them in the future.
    I really appreciate anyone's input. Thanks,
    Inder
    WORK AROUND:
    FIRST STEP:
    "create TABLE BIDSUM as
    select l.listingid, COUNT(b.amount) numBids, MAX(b.amount) curBid from TBL_LISTING l, TBL_BIDS b where l.listingid=b.listingid(+) group by (l.listingid);"
    NEXT STEP:
    select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE), l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode LIKE '12%';
    THIS ALSO WORKS (no LIKE):
    "select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE) daysLeft, l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode='12'";
    BUT THIS DOES NOT (alias the DATE arimetic)
    select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE) daysLeft, l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode LIKE '12__';

    I am porting from MySQL to Oracle 8i. I have a three Table Join in MySQL as follows:
    select distinct TO_DAYS(l.listend)-TO_DAYS(NOW()) AS daysLeft, i.minbid, l.listend, i.itemid, i.itemtitle, l.listingid, l.lendstart, l.lendend, l.status, MAX(b.amount) AS curBid, COUNT(b.amount) AS numBids from TBL_ITEMS i, TBL_LISTING l LEFT JOIN TBL_BIDS b ON l.listingid=b.listingid where i.itemid = l.itemid AND l.status='1' AND (TO_DAYS(l.listend)-TO_DAYS(NOW()) >= 0) AND i.catcode LIKE'12__' GROUP BY listingid order by curBid DESC, daysLeft;
    It performs an straight join on the first 2 tables (TBL_ITEMS and TBL_LISTING) and a LEFT JOIN between the previous result set and TBL_BIDS. TBL_BIDS uses a group by clause to obtain MAX and COUNT info. This final result set is the sorted (ORDER BY).
    I have tried to reconstruct this type of call in Oracle and have failed. Several problems that I have notices: Oracle does not let me pull in additional columns when doing a GROUP BY clause.
    (see below for my work around)
    I have worked around the problem by creating a TABLE with the group by functionality and doing a straing 3 table join. (NOTE: I cannot create a view because use a LIKE function in the call... view dont have indexes). However, when I try to alias the column that returns DATE subtraction ("l.listend-TRUNC(SYSDATE) daysLeft" OR "l.listend-TRUNC(SYSDATE) dayLeft") I cannot use the LIKE statement.
    Here is my question. How do I port the above 3-table MySQL call to Oracle. Why am I having these problems (is it the Oracle optimizer?) and how do I avaopid them in the future.
    I really appreciate anyone's input. Thanks,
    Inder
    WORK AROUND:
    FIRST STEP:
    "create TABLE BIDSUM as
    select l.listingid, COUNT(b.amount) numBids, MAX(b.amount) curBid from TBL_LISTING l, TBL_BIDS b where l.listingid=b.listingid(+) group by (l.listingid);"
    NEXT STEP:
    select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE), l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode LIKE '12%';
    THIS ALSO WORKS (no LIKE):
    "select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE) daysLeft, l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode='12'";
    BUT THIS DOES NOT (alias the DATE arimetic)
    select i.minbid, i.itemtitle, l.lendstart-TRUNC(SYSDATE) daysLeft, l.lendend, l.listingid, l.status, s.numbids, s.curbid from TBL_ITEMS i, TBL_LISTING l, BIDSUM s where l.listingid=s.listingid AND i.itemid=l.itemid AND l.status='1' AND i.catcode LIKE '12__';

  • Group by and order by clause

    Hi,
    I have wriiten the below query and i am using group by and order by clause....but i am not getting the required result
    SELECT b.ACCOUNT_REGION,CASE WHEN b.product_reference_status='Reference' THEN 'Recruited' WHEN b.product_reference_status in ('Inactive','Declined') THEN 'Inactive' WHEN b.product_reference_status ='Nominate' THEN 'Inprogress' ELSE 'Other' END product_reference_status, COUNT(decode(b.product_quarter,'Q1FY09',b.REFERENCE_ID)) Q1FY09, COUNT(decode(b.product_quarter,'Q2FY09',b.REFERENCE_ID)) Q2FY09, COUNT(decode(b.product_quarter,'Q3FY09',b.REFERENCE_ID)) Q3FY09, COUNT(decode(b.product_quarter,'Q4FY09',b.REFERENCE_ID)) Q4FY09, COUNT(decode(b.product_quarter,'Q1FY10',b.REFERENCE_ID)) Q1FY10, COUNT(decode(b.product_quarter,'Q2FY10',b.REFERENCE_ID)) Q2FY10, COUNT(decode(b.product_quarter,'Q3FY10',b.REFERENCE_ID)) Q3FY10, COUNT(decode(b.product_quarter,'Q4FY10',b.REFERENCE_ID)) Q4FY10, COUNT(b.product_quarter) Total
    FROM refdump a, ref_dh_pr b
    WHERE A.REFERENCE_ID=b.REFERENCE_ID AND (b.CREATED_ON - NVL(a.REFERENCE_DATE,a.CREATED))>15 group by b.account_region,product_reference_status order by 2
    output is as given below
    Region Status Count
    LAD     Inactive     0
    EMEA     Inactive     21
    *APAC     Inactive     2
    *APAC     Inactive     1
    EMEA     Inactive     2
    EMEA     Inprogress     220
    LAD     Inprogress     19
    LAD     Other     2
    LAD     Other     0
    LAD     Other     5
    LAD     Recruited     182
    APAC     Recruited     191
    My question is
    1) Why i am geeting two APAC regions and 3 LAD (marked *) regions when i have grouped by region and status
    2) How can i make the status in the following order
    a) Recruited
    b)Inprogress
    c)Inactive
    d)Other
    Thanks,

    <i>group by b.account_region,product_reference_status</i>
    Just take all the columns in the group by clause in your select segment and run the SQL, you'll come to know abt the different values in columns which group together.
    *009*

  • Execution order - group by and order by

    is there any execution order when we use group by and order by together in single query ?

    BOL: "Logical Processing Order of the SELECT statement
    The following steps show the logical processing order, or binding order, for a SELECT statement. This order determines when the objects defined in one step are made available to the clauses in subsequent steps. For example, if the query processor can bind to
    (access) the tables or views defined in the FROM clause, these objects and their columns are made available to all subsequent steps. Conversely, because the SELECT clause is step 8, any column aliases or derived columns defined in that clause cannot be referenced
    by preceding clauses. However, they can be referenced by subsequent clauses such as the ORDER BY clause. Note that the actual physical execution of the statement is determined by the query processor and the order may vary from this list.
    1. FROM
    2. ON
    3. JOIN
    4. WHERE
    5. GROUP BY
    6. WITH CUBE or WITH ROLLUP
    7. HAVING
    8. SELECT
    9. DISTINCT
    10. ORDER BY
    11. TOP"
    http://msdn.microsoft.com/en-us/library/ms189499.aspx
    Kalman Toth Database & OLAP Architect
    IPAD SELECT Query Video Tutorial 3.5 Hours
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • EA1 - SQL Formatter issues (JOINs and GROUPs and ORDER BY oh my ;)

    Great job with improving the SQL Formatter, but it still has some bugs that need to be worked out.
    The key words JOIN and it's modifiers INNER, LEFT, RIGHT and FULL OUTER are not recognized as master key words. As such they end up flush against the left margin Also when GROUP BY and/or ORDER BY key words are present in an outer most select statement the other key words are not indented far enough to be right aligned with the end of the word BY and are indented too far to be right aligned with the word GROUP or ORDER. In sub queries, GROUP and ORDER BY are correctly right aligned with their respective SELECT statements.

    We're picking up and collating the Formatter issues. I'll add these.
    Specific bug for these #7013462
    Sue

  • Oracle 8i vs Oracle 9/10: Group by and order of returned rows

    Hello people,
    I've searched the forum for threads on this topic: the order of returned rows in queries which have a GROUP BY clause, and found out that Oracle states that GROUP BY clause does not guarantee that the order of returned rows will be the same every time nor the rows will be ordered someway. I've confirmed this information in the Oracle documentation for the GROUP BY clause for Oracle 9 and 10. But I couldn't find the same in the Oracle 8 documentation (SQL Reference), in which the GROUP BY clause section does not mention anything about the order of returned rows in queries which have a GROUP BY (except for something about using a GROUP BY and a HAVING clause together, which is not helpful in this situation).
    Besides, I have an Oracle training book: "Introduction to Oracle: SQL and PL/SQL" for Oracle 8, where the GROUP BY clause is said to perform a default ordering, here is the text:
    "By default, rows are sorted by ascending order of the columns included in the GROUP BY list. You can override this by using the ORDER BY clause".
    So, I need to find out if Oracle 8 GROUP BY clause did some kind of sorting over the returned rows as it is said in the training book and if this behavior changed in Oracle 9. And more important: where to look for to find documentation about this change.
    Thank you, guys, I really hope someone could help me with this.
    Fer.

    And this statement from Tom (taken from the link above) says more about why the sort (even when done because of group by) should not be relied upon:
    <quote from="asktom link above">
    and even when it does sort as a by product of its processing, the sort is a
    BINARY SORT, not your sort (with your language and character set)
    </quote>

  • Grouping and ordering data

    I want to use grouped data from a query column. At the
    moment I can output and group the data using cfifs dependant
    on months and years. How can I find recordcounts and use the
    variables #doct07# #dnov07# #ddec07# #djan08# #dfeb08# #dmar08# so
    they keep the values in the cfoutput query? TIA
    <cfquery name="qrysales">
    SELECT clientinfo.visit
    FROM clientinfo
    order by clientinfo.visit
    </cfquery>
    <cfoutput query="qrysales">
    <cfset datesbymonth=(month(qrysales.visit))>
    <!--- 2007 entries --->
    <cfif qrysales.visit contains "2007">
    <cfif datesbymonth eq 10>
    <cfset doct07=#datesbymonth#>
    #doct07#
    <cfelseif datesbymonth eq 11>
    <cfset dnov07=#datesbymonth#>
    #dnov07#
    <cfelseif datesbymonth eq 12>
    <cfset ddec07=#datesbymonth#>
    #ddec07#</cfif>
    <!--- 2008 entries --->
    <cfelseif qrysales.visit contains "2008">
    <cfif datesbymonth eq 1>
    <cfset djan08=#datesbymonth#>
    #djan08#
    <cfelseif datesbymonth eq 2>
    <cfset dfeb08=#datesbymonth#>
    #dfeb08#
    <cfelseif datesbymonth eq 3>
    <cfset dmar08=#datesbymonth#>
    #dmar08#
    </cfif>
    </cfif>
    </cfoutput>

    See attached screen shot:
    To understand how the optional grouping works look at the attached
    example. I put some print lines on two charts that write out to a file.
    You will need to change the location. In that example my data comes
    in like:
    sourcedata[0][0] = 10;
    sourcedata[0][1] = "Chris Kwai";
    sourcedata[0][2] = 232;
    sourcedata[1][0] = 10;
    sourcedata[1][1] = "Ice Bella";
    sourcedata[1][2] = 291;
    sourcedata[2][0] = 10;
    sourcedata[2][1] = "Nola Dicci";
    sourcedata[2][2] = 567;
    sourcedata[3][0] = 11;
    sourcedata[3][1] = "Chris Kwai";
    sourcedata[3][2] = 312;
    sourcedata[4][0] = 11;
    sourcedata[4][1] = "Ice Bella";
    sourcedata[4][2] = 614;
    sourcedata[5][0] = 11;
    sourcedata[5][1] = "Nola Dicci";
    sourcedata[5][2] = 212;
    So for 3 users I have 10 and 11 value. If I do not optionally group my
    chart (But I group sum on x-axis) gets two sets of data one for the
    category and one for the summed values for each user.
    Series Data <undefined>
    Chris Kwai
    Ice Bella
    Nola Dicci
    Series Data <undefined>
    544.0
    905.0
    779.0
    If I use optional grouping I get three sets of data. One for the
    category and then one for each optional group (ie 10 and 11):
    Series Data <undefined>
    Chris Kwai
    Ice Bella
    Nola Dicci
    Series Data for month 10
    232.0
    291.0
    567.0
    Series Data for month 11
    312.0
    614.0
    212.0
    This will then draw two bars (10 and 11) for each user.
    Does this make sense?
    Jason
    On 10/26/2011 11:12 AM, Kevin Williams wrote:
    > Jason,
    >
    > Thank you for the quick response! Any chance you can send me a screen
    > shot of the group sort icon? I'm sorry, but I for the life of me, I
    > don't see it (I'm sure it's staring me straight in the face!).
    >
    > Also, I'm apparently misunderstanding the optional grouping field--I
    > there any documentation you can point me to on what it does (teach me to
    > fish)?

  • Date_format, group by and order by together

    Hi,
    SELECT
                             T.foreign_network_id as "Network ID",
                             date_format(T.ARRIVAL_DATE,'%v-%x') as "Date",
                        sum(case when((networks_rejected = 0)
                                       and (T.sor_reapply = 'N')
                                       and (T.sor_reason in ('NP', 'NU', 'NT', 'HT')))
                                       then T.CNT else 0 end) as "Before Steering",
                   sum(case when(sor_reason in ('NP', 'HT', 'T2', 'TM', 'NM', 'MM', 'IPMM', 'NPMM'))
                                  then T.CNT else 0 end) as "After Steering"
              FROM     ST_INC T,
                        NETWORKS N,
                        ZONE_NW_MAP ZN,
                        ZONES Z,
                        PAYMENT_TYPE PT
              WHERE      T.FOREIGN_NETWORK_ID = N.NETWORK_ID
              AND      ZN.NETWORK_ID = N.NETWORK_ID
              AND      Z.ZONE_ID = ZN.ZONE_ID
              AND      PT.id = T.ptype
              AND opcode = 2
              AND      sor_action is not null
                             and Z.ZONE_ID = 269
                   group by
                             date_format(T.ARRIVAL_DATE,'%v-%x'),
    T.foreign_network_id
    order by date_format(T.ARRIVAL_DATE,'%v-%x')
    Above code works but it orders malfunctionally. It orders as if the week-day combination is a string not a date.
    I want:
    09.2009
    10.2009
    02.2010
    03.2010
    06.2011
    It outputs:
    02.2010
    03.2010
    06.2011
    09.2009
    10.2009
    I know that the problem arises from the "order by" part. When I call the function date_format I guess a different data type is returnd thus the result is not achieved as intended. So I thought of changing that part only making last line order by T.ARRIVAL_DATE. It worked fine in mysql however it gave error in oracle. This is the error:
    ORA-00979: not a GROUP BY expression
    00979. 00000 - "not a GROUP BY expression"
    When I replace all "date_format(T.ARRIVAL_DATE,'%v-%x')" s with "T.ARRIVAL_DATE" it works fine again. However this is not what i wanted. I want to see the results in the format I gave and group with respect to that fomat, additionally ordering them chronologically. How is that possible?

    Frank Kulash wrote:
    Hi,
    baydinfb wrote:
    Hi,
    SELECT
                             T.foreign_network_id as "Network ID",
                             date_format(T.ARRIVAL_DATE,'%v-%x') as "Date",
                        sum(case when((networks_rejected = 0)
                                       and (T.sor_reapply = 'N')
                                       and (T.sor_reason in ('NP', 'NU', 'NT', 'HT')))
                                       then T.CNT else 0 end) as "Before Steering",
                   sum(case when(sor_reason in ('NP', 'HT', 'T2', 'TM', 'NM', 'MM', 'IPMM', 'NPMM'))
                                  then T.CNT else 0 end) as "After Steering"
              FROM     ST_INC T,
                        NETWORKS N,
                        ZONE_NW_MAP ZN,
                        ZONES Z,
                        PAYMENT_TYPE PT
              WHERE      T.FOREIGN_NETWORK_ID = N.NETWORK_ID
              AND      ZN.NETWORK_ID = N.NETWORK_ID
              AND      Z.ZONE_ID = ZN.ZONE_ID
              AND      PT.id = T.ptype
              AND opcode = 2
              AND      sor_action is not null
                             and Z.ZONE_ID = 269
                   group by
                             date_format(T.ARRIVAL_DATE,'%v-%x'),
    T.foreign_network_id
    order by date_format(T.ARRIVAL_DATE,'%v-%x')
    Above code works but it orders malfunctionally. It orders as if the week-day combination is a string not a date. Apparantly, date_format returns a string, similar to how TO_CHAR in Oracle returns a string. To verify this, create a view where one on the columns is the results of date_format, and then describe that view.
    I want:
    09.2009
    10.2009
    02.2010
    03.2010
    06.2011
    It outputs:
    02.2010
    03.2010
    06.2011
    09.2009
    10.2009
    I know that the problem arises from the "order by" part. When I call the function date_format I guess a different data type is returnd thus the result is not achieved as intended. So I thought of changing that part only making last line order by T.ARRIVAL_DATE. It worked fine in mysql however it gave error in oracle. This is the error:
    ORA-00979: not a GROUP BY expression
    00979. 00000 - "not a GROUP BY expression"
    When I replace all "date_format(T.ARRIVAL_DATE,'%v-%x')" s with "T.ARRIVAL_DATE" it works fine again. However this is not what i wanted. I want to see the results in the format I gave and group with respect to that fomat, additionally ordering them chronologically. How is that possible?I don't know about yur database, but in Oracle you can "GROUP BY t.arrival_date", and still use expressions like "TO_CHAR (t.arrival_date, ...)" in the SELECT clause. Then, if you say "ORDER BY t.arrival_date" it will sort by the arrival_date column in the table, even if the alias "arrival_date" is used for something else.
    Using scott.emp to illustrate:
    SELECT       TO_CHAR (e.hiredate, 'fmMonth YYYY')     AS hiredate
    ,       e.hiredate                    AS raw_date
    FROM       scott.emp     e
    GROUP BY  e.hiredate
    ORDER BY  hiredate          -- This means the result set column called "HIREDATE"
    ,       e.hiredate          -- This means the table column called "HIREDATE"
    ;Output:
    HIREDATE                                  RAW_DATE
    April 1981                                02-Apr-1981 00:00:00
    April 1987                                19-Apr-1987 00:00:00
    December 1980                             17-Dec-1980 00:00:00
    December 1981                             03-Dec-1981 00:00:00
    February 1981                             20-Feb-1981 00:00:00
    February 1981                             22-Feb-1981 00:00:00
    January 1982                              23-Jan-1982 00:00:00
    June 1981                                 09-Jun-1981 00:00:00
    May 1981                                  01-May-1981 00:00:00
    May 1987                                  23-May-1987 00:00:00
    November 1981                             17-Nov-1981 00:00:00
    September 1981                            08-Sep-1981 00:00:00
    September 1981                            28-Sep-1981 00:00:00Notice how, within a month (e.g. February 1981) the rows are sorted by DATE.Thanks for the answers, I tried, no errors but there is a problem with the requirements. Correct me if I am wrong.
    I can use the expression with "date_format" or "to_char" in select clause and then group by the actual date field. But this does not include all I want. When I formatted a date column as "week-year" such as 09.2010 I also meant to group by according to that format. In your solution totally same dates are grouped together but I want to be able to have that same weeks(no need to have same days) are grouped or even same months are grouped by and then order by actual date.
    Edited by: baydinfb on Aug 27, 2010 2:13 PM

  • Group by and Order by...

    Hi Guys,
    I need to get a value in a specific order in a select statment.
    I have the following table...
    with t as(
    SELECT 1 ID, 'aaa' VAL FROM dual UNION ALL
    SELECT 2 ID, 'aaa' VAL FROM dual UNION ALL
    SELECT 3 ID, 'bbb' VAL FROM dual UNION ALL
    SELECT 4 ID, 'bbb' VAL FROM dual UNION ALL
    SELECT 5 ID, 'ccc' VAL FROM dual )
    SELECT DISTINCT val
    FROM   t
    ORDER BY t.id;This genarates an error 'Not a SELECTed operation'.
    The out put I am expecting is...
    aaa
    bbb
    ccc
    (Distinct Val values with Order by ID)
    Is this possible?
    Thanks...

    The problem is that the distinct implicitly groups the data. And when it has grouped the data, there is no ID column available anymore.
    SQL> with t as(
      2  SELECT 1 ID, 'aaa' VAL FROM dual UNION ALL
      3  SELECT 2 ID, 'aaa' VAL FROM dual UNION ALL
      4  SELECT 3 ID, 'bbb' VAL FROM dual UNION ALL
      5  SELECT 4 ID, 'bbb' VAL FROM dual UNION ALL
      6  SELECT 5 ID, 'ccc' VAL FROM dual )
      7  SELECT DISTINCT val
      8  FROM   t
      9  ORDER BY t.id
    10  /
    ORDER BY t.id
    ERROR at line 9:
    ORA-01791: not a SELECTed expressionYou write that you want your output to be:
    aaa
    bbb
    ccc
    but how do you want your output to be when this is your source data?
    SQL> with t as(
      2  SELECT 1 ID, 'aaa' VAL FROM dual UNION ALL
      3  SELECT 2 ID, 'bbb' VAL FROM dual UNION ALL
      4  SELECT 3 ID, 'bbb' VAL FROM dual UNION ALL
      5  SELECT 4 ID, 'aaa' VAL FROM dual UNION ALL
      6  SELECT 5 ID, 'ccc' VAL FROM dual )
      7  SELECT DISTINCT val
      8  FROM   t
      9  ORDER BY t.id
    10  /
    ORDER BY t.id
    ERROR at line 9:
    ORA-01791: not a SELECTed expressionThere is now also a 'aaa' value at ID 4, after 'bbb' at ID's 2 and 3. You didn't tell and that's why Oracle can't execute your query.
    If you convert your query to use a group by operation, then you can explicitly tell on which aggregated expression you want your results to be ordered:
    SQL> with t as(
      2  SELECT 1 ID, 'aaa' VAL FROM dual UNION ALL
      3  SELECT 2 ID, 'aaa' VAL FROM dual UNION ALL
      4  SELECT 3 ID, 'bbb' VAL FROM dual UNION ALL
      5  SELECT 4 ID, 'bbb' VAL FROM dual UNION ALL
      6  SELECT 5 ID, 'ccc' VAL FROM dual )
      7  select val
      8    from t
      9   group by val
    10   order by min(id)
    11  /
    VAL
    aaa
    bbb
    ccc
    3 rows selected.Hope this helps.
    Regards,
    Rob.

  • Sqlserver query using Group by and Order by

    SUM(BILL_DETAIL.x_bill_quantity) as BILL_QUANTITY,
    MIN(BILL_DETAIL.x_billable_to) as BILLABLE_TO,
    MIN(BILL_DETAIL.x_billable_yn) as BILLABLE_YN,
    AVG(BILL_DETAIL.x_bill_rate) as BILL_RATE,
    MIN(BILL_DETAIL.x_cost_rate) as COST_RATE,
    MIN(BILL_DETAIL.x_cost_total) as COST_TYPE,
    LISTAGG(BILL_DETAIL.objid, ',') WITHIN GROUP(ORDER BY BILL_DETAIL.objid) as ID_LIST
    FROM table_x_gsa_bill_detail BILL_DETAIL
    WHERE (1=1)
    GROUP BY (DECODE(BILLABLE_YN, 1, 'Billable', 'Non-Billable') || ',' || BILLABLE_TO || ',' || DETAIL_CLASS || ',' || COST_TYPE || ',' || BILL_RATE)
    ORDER BY DECODE(BILLABLE_YN, 1, 'Billable', 'Non-Billable') || ',' || BILLABLE_TO || ',' || DETAIL_CLASS ||
    ) dt WHERE rn BETWEEN 0 AND 1
    Can any one pls help me using of Case Condition keyword instead of Decode in the above query ??? iam not able to convert above query for group by and order by..
    Actually i need to do group by the aggragate values which i got the values from the fields of BILLABLE_YN,BILLABLE_TO,DETAIL_CLASS, COST_TYPE, BILL_RATE.
    where as in oracle i can run above query using decode keyword where as in sqlserver iam not able to use BILLABLE_YN field alias of above query in group by .
    i tried like by using following way but it is wrong because here iam not using aggragate values of fields in group by funtion please help me in converting query in sqlserver. GROUP BY (case BILLABLE_YN when 1 then 'Billable' when 0 then 'Non-Billable' else
    'Non-Billable' End BILLABLE_YN + ',' + BILLABLE_TO + ',' + DETAIL_CLASS + ',' + COST_TYPE + ',' + BILL_RATE)
    Krishna

    CREATE TABLE DETAIL
    ([objid] int,[x_billable_to] varchar(19), [x_bill_quantity] int,
    [x_billable_yn] int, [x_bill_rate] int, [COST_TYPE] varchar(19) )
    INSERT INTO
    DETAIL
    ([objid], [x_billable_to], [x_bill_quantity], [x_billable_yn], [x_bill_rate],[COST_TYPE])
    VALUES
    (1, 'Customer', 3, 1, 20,'Parking'),
    (2, 'Customer', 1, 1, 25,'Toll'),
    (3, 'Customer', 2, 1, 20,'Parking') 
    Pls convert following query for executing query in sqlserver  ..for the column ID_List it should return data like 1,2,3
    SELECT * FROM (SELECT 1 rn,
            SUM(BILL_DETAIL.x_bill_quantity)      as BILL_QUANTITY,
            MIN(BILL_DETAIL.x_billable_to)        as BILLABLE_TO,
            MIN(BILL_DETAIL.x_billable_yn)        as BILLABLE_YN,
            AVG(BILL_DETAIL.x_bill_rate)          as BILL_RATE,
            LISTAGG(BILL_DETAIL.objid, ',') WITHIN GROUP(ORDER BY BILL_DETAIL.objid) as ID_LIST
         FROM   BILL_DETAIL
          WHERE (1=1)
     GROUP BY (DECODE(x_billable_yn, 1, 'Billable', 'Non-Billable') + ',' + x_billable_to  +  ',' + COST_TYPE + ',' + x_bill_rate)
          ORDER BY DECODE(x_billable_yn, 1, 'Billable', 'Non-Billable') + ',' + x_billable_to  +  ',' + COST_TYPE + ',' + x_bill_rate
           )dt 
    WHERE rn BETWEEN 0 AND 1
    Krishna
    sounds like this
    SELECT *
    FROM
    SELECT 1 rn,
    SUM(BILL_DETAIL.x_bill_quantity) as BILL_QUANTITY,
    MIN(BILL_DETAIL.x_billable_to) as BILLABLE_TO,
    MIN(BILL_DETAIL.x_billable_yn) as BILLABLE_YN,
    AVG(BILL_DETAIL.x_bill_rate) as BILL_RATE,
    LEFT(bd1.ID_LIST,LEN(bd1.ID_LIST)-1) AS ID_Listing
    FROM BILL_DETAIL bd
    CROSS APPLY (
    SELECT BILL_DETAIL.objid + ',' AS [text()]
    FROM BILL_DETAIL
    WHERE objid = bd.objid
    FOR XML PATH('')
    )bd1(ID_LIST)
    WHERE (1=1)
    GROUP BY (CASE WHEN x_billable_yn = 1 THEN 'Billable' ELSE 'Non-Billable'END + ',' + x_billable_to + ',' + COST_TYPE + ',' + x_bill_rate),
    LEFT(bd1.ID_LIST,LEN(bd1.ID_LIST)-1)
    ORDER BY (CASE WHEN x_billable_yn = 1 THEN 'Billable' ELSE 'Non-Billable'END + ',' + x_billable_to + ',' + COST_TYPE + ',' + x_bill_rate),
    LEFT(bd1.ID_LIST,LEN(bd1.ID_LIST)-1)
    )dt
    WHERE rn BETWEEN 0 AND 1
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Discoverer Summary Adviser and GROUP BY / ROLLUP

    Can anyone answer the following for me?
    1. Does the Discoverer Summary Adviser ever create materialized views using the new ROLLUP function, to create summaries that calculate all the subtotals along all hierarchies and dimensions?
    2. If the Discoverer Summary Adviser cannot create them using GROUP BY and ROLLUP, but I generated them manually or using OEM, would the Discoverer queries ever be eligable for query rewrite, as I presume the SQL generated by Discoverer doesn't use the GROUP BY / ROLLUP feature found in Oracle 9i?
    Any advice gratefully received.
    Mark

    Can anyone answer the following for me?
    1. Does the Discoverer Summary Adviser ever create materialized views using the new ROLLUP function, to create summaries that calculate all the subtotals along all hierarchies and dimensions?
    2. If the Discoverer Summary Adviser cannot create them using GROUP BY and ROLLUP, but I generated them manually or using OEM, would the Discoverer queries ever be eligable for query rewrite, as I presume the SQL generated by Discoverer doesn't use the GROUP BY / ROLLUP feature found in Oracle 9i?
    Any advice gratefully received.
    Mark

Maybe you are looking for