order and then compare values from same column

Thread Solved

Join Date: Mar 2005
Posts: 192
Reputation: stupidenator is an unknown quantity at this point 
Solved Threads: 4
stupidenator's Avatar
stupidenator stupidenator is offline Offline
Junior Poster

order and then compare values from same column

 
0
  #1
Jan 26th, 2007
Hello everyone,

I am fairly new to oracle and SQL and I am having a little trouble figuring out how to accomplish a task.

I have three columns from a table, we will call them 'a', 'b', and 'id'. I first want to order by 'id' and then query the ordered data with the following condition.

I want to add the value at column 'a' to the value at column 'b' and then check and see if that sum is equal to the next value in column 'b'.

If that is not possible, I may also be able to add up column 'a' and column 'b' (take the sum of each column, grouped by 'id') and then subtract the last value in column 'a' grouped to each id from column 'a' and then compare the value of column a (sum(a) - last_value(a), with respect to the id from the 'id' column) with the sum of column 'b' (sum(b))

Any help would be appreciated!

Thanks,

Nick
Reply With Quote Quick reply to this message  
Join Date: Apr 2006
Posts: 353
Reputation: aniseed is an unknown quantity at this point 
Solved Threads: 6
aniseed's Avatar
aniseed aniseed is offline Offline
Posting Whiz

Re: order and then compare values from same column

 
0
  #2
Jan 29th, 2007
This doesn't appear to be a task that can be performed with a single SQL if that was what you were looking for. Even if it is possible (because I'm not very good at SQL myself), the query itself is so dependent on the results that having a stored procedure and using a cursor would be a good choice.
Reply With Quote Quick reply to this message  
Join Date: Mar 2005
Posts: 192
Reputation: stupidenator is an unknown quantity at this point 
Solved Threads: 4
stupidenator's Avatar
stupidenator stupidenator is offline Offline
Junior Poster

Re: order and then compare values from same column

 
0
  #3
Jan 31st, 2007
Thank you for your help. Below is what I eventually came up with as a solution.


  1. SELECT UNIQUE id
  2. FROM table1 a
  3. LEFT JOIN table1 b
  4. ON a.value1 + a.prev_value <> b.prev_value
  5. WHERE TO_NUMBER(b.amd_no) = (TO_NUMBER(a.amd_no) + 1)
  6. AND a.id = b.id;


Thanks,

Nick
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC