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__'; -
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> -
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)
KrishnaCREATE 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.
MarkCan 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
-
HT204053 How can I change my apple id for iCloud to match the apple id's on other devices?
I am trying to get all of my devices and icloud to have the same email address and password to make iMatch work for music. I can't find a wy to change the iCloud account. Help!
-
Hello, all my emails in Mail, Thunderbird, Postbox show the same date 05.01.2013 which is the example in System Prefs. Skype also in short messages. Only Mail Pilot resists and shows all dates in the correct manner. I'm using Mavericks. But I have an
-
How to implement a download link
i would like to implement a download link in jsp. Can anyone show me how to do this? thanks. cc
-
Hi everyone,I was looking forward to trying a ps now game tonight. I chose God of War II HD. My connection speed shows it should work as I got a green smiley face. Unfortunatley when I have tried to start the game it goes through all the motions (che
-
My iPhone got very wet and had much condensation that was visibleon the front and back cameras. I put it into a a bag of rice for over 24 hours. Now, my phone has trouble booting up. The Apple logo keeps popping up in the middle of the screen, fade o