Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

calculated percentage data always retruning zero

Posted on 2006-07-13
2
Medium Priority
?
353 Views
Last Modified: 2008-03-17
I'm trying to use T-SQL to return the relative percentage of two summed values when I divide the values into each other, but I always get 0. Here is my stored proc
CREATE PROCEDURE dbo.SC_PMPULL

(
      @startdate datetime,
      @enddate datetime
)
AS
BEGIN

SELECT underwrtr,COUNT (received)as received,count(denied)as denied,fullname
 
INTO #tmpPull
FROM dbo.TestPull
WHERE received BETWEEN @startDate and @enddate and received is not null
GROUP BY underwrtr,fullname, denied,received
Select P.fullname, coalesce(sum(P.received), ' ')as [U/W Received],coalesce(sum (P.denied) ,' ')as [U/W Denied] , P.underwrtr,(sum(P.denied) /sum(P.received) )as PercentageDenied--,P.month,P.year,P.monthvol
   From #tmpPull  P
     Group by P.fullname,P.underwrtr
drop table #tmpPull


END

0
Comment
Question by:jemigossaye
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 11

Assisted Solution

by:pootle_flump
pootle_flump earned 800 total points
ID: 17103481
Hi

Your values are Ints - you need to cast them as DECIMAL (or NUMERIC) e.g.:

CAST((sum(P.denied) AS NUMERIC, 4, 3) /sum(P.received) )as PercentageDenied


0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 1200 total points
ID: 17103486
CREATE PROCEDURE dbo.SC_PMPULL

(
     @startdate datetime,
     @enddate datetime
)
AS
BEGIN

SELECT underwrtr,COUNT (received)as received,count(denied)as denied,fullname
 
INTO #tmpPull
FROM dbo.TestPull
WHERE received BETWEEN @startDate and @enddate and received is not null
GROUP BY underwrtr,fullname, denied,received
Select P.fullname, coalesce(sum(P.received), ' ')as [U/W Received],coalesce(sum (P.denied) ,' ')as [U/W Denied] , P.underwrtr,(cast(sum(P.denied)  as decimal(20,4)) / cast(sum(P.received)  as decimal(20,4)) )as PercentageDenied--,P.month,P.year,P.monthvol
   From #tmpPull  P
     Group by P.fullname,P.underwrtr
drop table #tmpPull
0

Featured Post

Will your db performance match your db growth?

In Percona’s white paper “Performance at Scale: Keeping Your Database on Its Toes,” we take a high-level approach to what you need to think about when planning for database scalability.

Question has a verified solution.

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

This post contains step-by-step instructions for setting up alerting in Percona Monitoring and Management (PMM) using Grafana.
What we learned in Webroot's webinar on multi-vector protection.
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…

722 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