John
John

Reputation: 11

Dividing two SQL query results

I'm just trying to learn how to take a value from a column, in this case how much JJ spent on product a, and divide it by the sum of the total Product A sales and turn it into a percentage.

My SQL understanding is pretty low level right now, so the simpler the response the better.

SELECT 
    JJ / Result * 100 AS percentage
FROM
    (SELECT 
         ([Product A] AS JJ
     FROM [Test].[dbo].[TableA]
     WHERE [Customer Name] = 'JJ' 


    SELECT SUM([Product A]) AS Result 
    FROM [Test].[dbo].[TableA]   
)
--JJ/Result * 100 = ProdAPercentSales)

Upvotes: 1

Views: 71

Answers (1)

Mureinik
Mureinik

Reputation: 311018

You could use a case expression to find JJ's purchases, and divide their sum with the total sum:

SELECT SUM(CASE [Customer name] WHEN 'JJ' THEN [Product A] ELSE 0 END) /
       SUM([Product A]) * 100 AS [Percentage]
FROM   [Test].[dbo].[TableA]

Upvotes: 2

Related Questions