Difference between values in 2 rows in SQL query
I have to find the difference between inventory onhand in the same store in week1 and week2.
I tried to do it in one "select" query something like :
SELECT store_id, ( suppose to be function that calculates difference) FROM my_table WHERE week=week1 or week=week2 GROUP BY store_id
however I have no idea how to find the difference between the valuues in two separate rows.
thanks in advance.
If you have only two weeks in your data. This can work.
SQL> select * from emp
2 /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
8888 KING PRESIDENT 17-NOV-81 7000 10
9999 ADAMS CLERK 7788 12-JAN-83 7000 20
16 rows selected.
SQL> select ename, max(sal) - min(sal) diff
2 from emp
3 group by ename
4 /
ENAME DIFF
ADAMS 5900
ALLEN 0
BLAKE 0
CLARK 0
FORD 0
JAMES 0
JONES 0
KING 2000
MARTIN 0
MILLER 0
SCOTT 0
SMITH 0
TURNER 0
WARD 0
14 rows selected.
SQL> Cheers
Sarma.
Similar Messages
-
Any difference between distinct and aggregate function in sql query cost???
Hi,
I have executed many sql stmts patterns- such as:
a) using a single table
b) using two tables, using simple joins or outer joins
but i have not noticed any difference in sql stmts in cost and in execution plan....
Anyway, my colleague insists on that using aggregate function is less costly compared to
distinct....(something i have not confirmed, that's why i beleive that they are exactly the same...)
For the above reffered 1st sql pattern.. we could for example use
select distinct deptno
from emp
select count(*), deptno
from emp
group by deptno select distinct owner, object_type from all_objects
select count(*), owner, object_type from all_objects
group by owner, object_typeHave you found any difference between the two ever...????
Note: I use Ora DB 10g v2.
Thank you,
Simdistinct and aggregate function are for different uses and may give same result but if u r using aggregate function to get distinct records, it will be expensive...
ex
select distinct deptno from scott.dept;
Statistics
0 recursive calls
0 db block gets
2 consistent gets
0 physical reads
0 redo size
584 bytes sent via SQL*Net to client
488 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
4 rows processed
select deptno from scott.emp group by deptno;
Statistics
307 recursive calls
0 db block gets
60 consistent gets
6 physical reads
0 redo size
576 bytes sent via SQL*Net to client
488 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
6 sorts (memory)
0 sorts (disk)
3 rows processed
Nimish Garg
Software Developer
*(Oracle & ASP.NET)*
Indiamart Intermesh Limited, Noida
To Get Free Oracle & ASP.NET Code Snippets
Follow: http://nimishgarg.blogspot.com -
What is difference between 32 bit and 64 bit sql server memory management
What is difference between 32 bit and 64 bit sql server memory management
Thanks
ShashikalaThis is the basic difference...check if helps:
A 32-bit CPU running 32-bit software (also known as the x86 platform) is so named because it is based on an architecture that can manipulate values that are up to 32 bits in length. This means that a 32-bit memory pointer can store a value between 0 and
4,294,967,295 to reference a memory address. This equates to a maximum addressable space of 4GB on 32-bit platforms
On the other hand 64-bit limit of 18,446,744,073,709,551,616, this number is so large that in memory/storage terminology it equates to 16 exabytes. You don’t come across that term very often, so to help understand the scale, here is the value converted to
more commonly used measurements: 16 exabytes = 16,777,216 petabytes (16 million PB)➤ 17,179,869,184 terabytes (17 billion TB)➤ 17,592,186,044,416 gigabytes (17 trillion GB)➤
As you can see, it is significantly larger than the 4GB virtual address space usable in 32-bit systems; it’s so large in fact that any hardware capable of using it all is sadly restricted to the realm of science fiction. Because of this, processor manufacturers
decided to only implement a 44-bit address bus, which provides a virtual address space on 64-bit systems of 16TB. This was regarded as being more than enough address space for the foreseeable future and logically it’s split into an 8TB range for user mode
and 8TB for kernel mode. Each 64-bit process running on an x64 platform will be able to address up to 8TB of VAS.
Please click the Mark as answer button and vote as helpful if this reply solves your problem -
Difference between value and binding ?
hello
I am afraid I am not clear on difference between value and binding of a component?
I will appreciate if you supply an explanation.
kind regardsBinding? Aren't you talking about JSF? That term doesn't occur in JSP world.
-
Difference between value node,model node and recursion node?.
Hi all,
this is to ask you the difference between modal node, value node and recurrsion node?
please explain
Anhitya Kashyaphi Anhit,
node can be classified as a value node or model node. The difference between value nodes and model nodes is that a value node can store the data itself, whereas the model node only references an external model object that stores the data.
more on nodes check this
http://help.sap.com/saphelp_webas630/helpdata/en/b8/cd96edb9c8794aa362e6e8b4236a1f/frameset.htm
thanks,
Saloni -
Difference between value attribute and value attribute under Node in contex
I have very basic question..it might be very simple but it is giving me a problem.
I have created one Node name "Input" and value attribute "Input1" under it.
I have just created one more value attribute named "in1" not under any Node.
I have created two input filed in the my view.One first I have mapped the value in properties
to variables "Input.Input1" and on another "in1".
When I deploy and run the application one Input box is coming as readonly and other is working fine .Will anybody tell me why it is so?There is no major difference between value attribute and inside a node.
It is a separation of attributes. Usually all the attributes belongs to same purpose will create in one value node. Like, calling one BAPI - requestListBAPI - it contains all the bapi related value attributes.
For your question, one field is read only(Input.Input1), bcz that context is not created. see the context properties.....cardinality will be 0..n. Change the cardinality to 1...n (<b>or</b>) create that context element .
In your implementation create that value node like this in your init method.
wdContext.createInputElement();
It will solve your problem.
in1 - is a value attribute, which is mapped to your input element. It wont have any problem.
Regards,
Sri -
Difference between value category and cost element
Hi I am new to SAP Pm.can anyone explain me the difference between value category and cost element and how are they linked with examples
HI Pallavi,
Value Category are use to devide your total cost in to diffrent elements for example Material, External Services, Internal Services etc. If you dont have any value category configured then all cost will show together.
Cost Element are the cost collector where your cost will be booked means different cost under different Elements.
So What you need to do You need to create one Value category Like material or any thing then you need to assign all Cost Elements which will be used to book cost related to Material or that perticular category. You can assign Cost Element directly, range or as a group to these category under SPRO.
Regards,
SS -
Passing multiple values to a parmeters in SQL Query
Hi friends,
I have the following requirement -
I need to pass multiple values to the parameter 'WHERE hou.name = (:id1)' and the query is copied below for your reference .
SELECT partno part_num,
customer customer_name,
hou.name op_name
FROM hr_organization_units hou,
oe_transaction_types_all sot,
ra_customers rc,
ra_addresses_all ra,
ra_site_uses_all rsu,
oe_order_headers_all h,
oe_order_lines_all l,pwr_sod50 ps
WHERE hou.name = (:id1)
-- and hou.name = (:id4)
--hou.name in ('CPS FRANCE','CPS GERMANY')
--and hou.name = (:id1,hou.name)
and trunc(ps.sch_ship_date) between nvl(:id2,trunc(ps.sch_ship_date)) and nvl(to_date(:id3)+.99999,trunc(ps.sch_ship_date))
and ps.group_id = 9999999
and hou.organization_id=h.org_id
and ps.line_id =l.line_id
and l.header_id =h.header_id
and h.invoice_to_org_id=rsu.site_use_id
and rsu.address_id =ra.address_id
and ra.customer_id =rc.customer_id
and h.order_type_id =sot.transaction_type_id
Looking for your help on this.
Thanks In Advance.
Thanks & Regards
Ramya NomulaHi karthik,
I am sorry for the wrong updation of my anonymus block.
My requirement is to pass a multiple values to the parameter in SQL query, and here is the code which is working now for the multiple values with ourt single quotes to the values -
SELECT partno part_num,
customer customer_name,
ps.customer_id customer_id,
avail_qty avail_qty,
sch_ship_date schedule_Ship_date,
so_num order_no,
h.header_id header_id,
line_num line_no,
l.ordered_quantity ordered_quantity,
scd_qty qty_open,
s_price unit_price,
part_flag flag,
sub_inv subinv,
sbu,
hold,
qoh,
line_detail_id detail_id,
picking_line_id,
picking_line_detail_id,
rc.customer_name cust_name,
rc.customer_number customer_number,
rsu.location location,
sot.attribute5 order_type,
ps.line_id line_id,
h.transactional_curr_code transactional_curr_code,
hou.name op_name
FROM hr_organization_units hou,
oe_transaction_types_all sot,
ra_customers rc,
ra_addresses_all ra,
ra_site_uses_all rsu,
oe_order_headers_all h,
oe_order_lines_all l,pwr_sod50 ps
WHERE ','||:id1||',' like '%,'||hou.name||',%'
and trunc(ps.sch_ship_date) between nvl(:id2,trunc(ps.sch_ship_date)) and nvl(to_date(:id3)+.99999,trunc(ps.sch_ship_date))
and ps.group_id = 9999999
and hou.organization_id=h.org_id
and ps.line_id =l.line_id
and l.header_id =h.header_id
and h.invoice_to_org_id=rsu.site_use_id
and rsu.address_id =ra.address_id
and ra.customer_id =rc.customer_id
and h.order_type_id =sot.transaction_type_id;
Condition for sending multiple Oprtaing Units -
WHERE ','||:id1||',' like '%,'||hou.name||',%'
This above condition is working when i am passing multiple values with out single quotes...but not working for multiple values with single quotes.
Sample queries tested -
select 1 from dual where ',aa,bb,cc,' like '%,bb,%' (This is working)
select 1 from dual where ','aa','bb','cc',' like '%,'bb',%'(This is not working).
Thanks In Advance!
Looking for Your Great Help.
Thanks & Regards
Ramya Nomula -
Finding minimum value in each row using dynamic query
need to find the minimum and maximum value from each row using dynamic query
[from curr] will be given as input
TukyDECLARE @t TABLE(a INT,b INT,c INT);
INSERT @t VALUES(1,2,3),(9,8,7),(4,6,5);
SELECT *
, ( SELECT MAX(val)
FROM (VALUES (a)
, (b)
, (c)
) AS value(val)
) AS MaxVal
, ( SELECT MIN(val)
FROM (VALUES (a)
, (b)
, (c)
) AS value(val)
) AS MinVal
FROM @t;
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence -
What is the difference between "= NULL" and "IS NULL" in SQL?
Hi,
I believe there is a difference between "= NULL" and "IS NULL" comparsion, but I couldn't find it. Anyone knows the difference?
Thanks,
DennyAha, thanks:
SQL> create table william_test_tab (col binary_double);
Table created.
SQL> insert into william_test_tab
2 select rownum / (rownum - 1) from user_tables where rownum < 4;
select rownum / (rownum - 1) from user_tables where rownum < 4
ERROR at line 2:
ORA-01476: divisor is equal to zero
SQL> insert into william_test_tab
2 select 1d * rownum / (rownum - 1) from user_tables where rownum < 4;
3 rows created.
SQL> select * from william_test_tab;
COL
Inf
2.0E+000
1.5E+000
3 rows selected.
SQL> select * from william_test_tab where col is infinite;
COL
Inf
1 row selected.
SQL> -
Expanding table: Calculating difference to value from previous row
Hi there,
I am a complete newbie to LiveCycle Designer (ES2) and have created below document with an expanding table.
Shared Files - Acrobat.com
My aim is to make the form user friendly by adding a calculation in the field "Twist" which calculates the difference from the current row to the previous row.
I have no idea about Java Script, I am afraid, and also don't know if this is possible at all so it's probably a bad idea after all.
The reason for setting it up as an expanding table is so that the form can be used for all 32 instances the form would be used for (they would all require different amount of rows altogether).
The calculation would start in row 2 (Checklist.Table1), take the twist value entered in row 2 and calculate the difference to the twist value entered in row 1.
Then in row 3, it would calculate the difference between twist value in row 3 to row 2 etc.
So subtract value of field in rown with value in rown-1 or something in this direction.
Is there anyone at all who could help me with this at all?
I'd be very grateful for any advice you could give me.
Thanks a lot!
MathildaNot sure what happened with the formatting there, try this;
if (Row1.index > 0 && !Row1.resolveNode("NumericField4[0]").isNull)
var prevTwist = Table1.resolveNode("Row1[" + (Row1.index - 1) + "].NumericField4[0]").rawValue
var result = Math.abs(3000 / (Row1.resolveNode("NumericField4[0]").rawValue - prevTwist));
this.rawValue = result;
else
this.rawValue = ""; -
Difference between aggregation and calculation tab in BEx Query Designer
HI,
I am using BEx Query Designer for my report, for the key figures in the coloumn area i slected one numeric key figures, in the properties tab i found aggregation tab and calculation tab.
I need to sum up the total values for that particualar coloumn, when i used calculation tab i found to sum all the values for a particular coloumn, then what is the use the aggreagation tab?
I not able to used that Aggregation tab it is showing as a hidden fields...
can any one tell me whats the exact difference between these tabs and when we need to use which tab?
With Regards,
Thanesh Kumar.Hi Thanesh Kumar,
I moved this thread from forum Data Warehousing to Business Explorer since it is a query related question (as SDN moderator).
I could explain to you the difference between these two tabs.
For "calculation" tab, it changes the display of result and does not change the calculation logic.
It means that, if this key figure is used further in formula, still the original number (without "calculation" tab setting) is used for further formula calculation.
For "aggregation" tab, it changes the real calculation logic.
The system takes the setting as the aggregation rule for records.
The most common aggregation rule is of course summation. If you set to e.g. Average here, the system does the
Average instead of summation when aggregating records. And the Average value will be taken for calculation
in further formulas or other calculations.
For "aggregation" tab, you could only use it for CKF (calculated key figure) or formula and you could not use it for
a basic key figure. That should be the reason why you see it greyed-out.
Regards,
Patricia -
How to get # of rows in SQL Query ResultSet
I need to get the # of rows in a sql query resultset so I can create arrays of the size of the # or rows returned. This is how I do it so far. Is there a better way without running the query twice?
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next())
i++;
aid = new int;
i=0;
rs = stmt.executeQuery(query);
while (rs.next())
aid[i] = rs.getInt(1);
Theres actually a few more arrays but for this I just used one to show what I was doing. Notice stmt.executeQuery needed to be called twice, once to get the count to set the size of the array and once to get the values.nope - there's no easy way.
the right thing to do is to iterate through the ResultSet, load its contents into a List of Objects or some other data structure, and close it out right away. You can get the count of rows while you do it. return the contents in the object or data structure for clients to use. you should never be passing a ResultSet around.
why do you need to know, anyway?
% -
Retreving Hexadecimal Values from a table using SQL query.
Hi,
I'm looking for a query to retreive Hexadecimal values contained in a column using SQL query.
The column contains the values of all types, alphanumeric, numeric and hexadecimal.
I need to retreive only hexadecimal values.
any help to me in this regard will be appreciated.
ThanksPresumably, you can be sure that any valid hex value is indeed MEANT to BE a hex value. For example the value 'ACE' is meant to be a hexadecimal value and not the word.
-
Having troubles passing values of Shuttle control to SQL Query of Report and Chart Region
Hello,
I am very new to APEX and need help for one of the Pa.I have a shuttle control on my page which populates Categories. Once user selects Categories from this control, I wish to pass the values to following SQL query :
select * from emp_class where category IN ( LIST of VALUES FROM RIGHT SIDE SHUTTLE).
I tried various ways of doing this including writing a java scripts which reads shuttle value, converts it into below string
'Category1',Category2',Category3'. Then I set this value to a text box. And then I was expecting that below trcik would work
select * from emp_class where category IN (:TXT_VALUES)
I am sure this is not right way and hence its not working. Can you please guide me here with options?
Many Thanks,
Tushb96402b4-56f7-44ba-8952-fb82a61eeb2c wrote:
Please update your forum profile with a real handle instead of "b96402b4-56f7-44ba-8952-fb82a61eeb2c".
I am very new to APEX and need help for one of the Pa.
Don't understand what this means. What is "Pa"?
select * from emp_class where category IN (:TXT_VALUES)
I am sure this is not right way and hence its not working. Can you please guide me here with options?
This is a common fallacy. In
select * from table where columnvalue in (7788, 7839, 7876)
(7788, 7839, 7876) is an expression list and the predicate is evaluated as a membership condition.
In
select * from table where columnvalue in :P1_X
:P1_X is a scalar string, incapable of containing multiple values.
In an APEX standard report, a PL/SQL function body returning an SQL query report source with lexical substitution can be used to produce a "varying IN-list":
return 'select * from table where columnvalue in (' || :P1_X || ')';
where P1_X contains fewer than 1000 values, has been sanitized for SQL injection, and string values are properly quoted.
Some people suggest the following approach, which will also work in APEX interactive reports:
select * from table where instr(':' || :P1_X || ':', ':' || columnvalue || ':') > 0
However this is non-performant as it eliminates the possibility of the optimizer using indexes or partition pruning in the execution plan.
See varying elements in IN list on Ask Tom, and emulating string-to-table functionality using sql for efficient solutions.
Maybe you are looking for
-
Useless code in java.awt.image.SampleModel.java?
Hey there, i just looked up the sourcecode of java.awt.image.SampleModel.java in JDK 6 I discovered two issues i'd like to discuss. 1) on lines 736 to 739 this code is stated: if (iArray != null) pixels = iArray; else pixels = new int[numBands * w *
-
BAPI to create a purchase organization ?
Hi All, Could any one tell me, are there any BAPI's to create a PURCHASE ORGANIZATION. THANKS
-
Service/Task communication with Application (UI)?
Joined: Feb 19, 2012 Posts: 11 [Post New]posted Monday, January 28, 2013 5:33:49 PM Quote Here's the scenario: A "start" button is clicked which sets up a Service/Task which includes I/O with a device. A changeListener is started, and the "start" but
-
Problem with starting Java IDL HelloClient example
I have no problems when starting orbd and HelloServer on one Windows machine and HelloClient on other Windows machine. But if I start orbd and HelloServer on linux machine I face the problem: HelloClient doesn't want to start. Here is the stacktrace:
-
Bonjour, Je suis en cours de création de site avec Muse. Je voulu procéder à la publication pour transmettre l'avancée des travaux à mon client et là problème...: "Une erreur inconne c'est produite sur Adobe Business Catalyst. Etat : 503, 105002" Com