Solved

Oracle SQL select within select  with calculation

Posted on 2014-04-03
4
444 Views
Last Modified: 2014-04-03
I need help coding some SQL. THERE is one table called B_TABLE.

B_TABLE can have MANY Bills for 1 PROV
 
Each PROV can have many CL,
Each CL FOR A PROVIDER CAN HAVE  1 to many CA
 
Want to show EACH unique PROV where  and their CA / CL ratio
 
PROV       CL           CA      AMT
A                aa           123       10.00
A                aa           234         5.00
A                aa           234       20.00
A               aa            345       15.00
A               dd           456       25.00
A               ee           717       25.00
 
B               bb           877     100.00
B               cc             342    200.00
 
The query results for the example above should be
 
A   1.67    70.00
B   1        300.00
 
I am having trouble coding the SQL.
0
Comment
Question by:ktylerconk
  • 2
4 Comments
 
LVL 32

Expert Comment

by:awking00
ID: 39976032
Can you explain how those results were determined and what does the 1.67 represent and if the 300.00 for B represents a sum, why is A 70.00? I think a little more detail of what you want to accomplish would help.
0
 

Author Comment

by:ktylerconk
ID: 39976140
Sum of A should be 100.00. Sorry, I added rows.

Ratio of 1.66 is the CA divided by CL.   a flag will be generated if the ratio us greater than 2.
So if A had 6 CA's but only 2 CL's, there would be a flag raised because the ratio would be 3.
0
 
LVL 34

Accepted Solution

by:
johnsone earned 200 total points
ID: 39976451
Try this:

select prov, count(distinct ca) / count(distinct cl), sum(amt)
from b_table
group by prov;

Open in new window


It gives the result:

PROV	COUNT(DISTINCTCA)/COUNT(DISTINCTCL)	SUM(AMT)
A       1.666666666667                          100
B       1                                       300

Open in new window

0
 

Author Closing Comment

by:ktylerconk
ID: 39976556
Worked like a charm! Thank you!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Truncate is a DDL Command where as Delete is a DML Command. Both will delete data from table, but what is the difference between these below statements truncate table <table_name> ?? delete from <table_name> ?? The first command cannot be …
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
Via a live example, show how to take different types of Oracle backups using RMAN.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now