amehta
amehta

Reputation: 11

i want to display total_amount from dbo.orders in final output table .how?

CREATE PROCEDURE proc_assign_tier_for_rewards(
    @email varchar(255))
AS
BEGIN

    SELECT tier_name, reward,min_amount,max_amount, CONCAT(min_amount, '-', max_amount) AS range
    FROM reward_tier
    WHERE (SELECT SUM(total_amount)
           FROM dbo.orders
           WHERE company_email = @email
    ) BETWEEN min_amount AND max_amount

END
GO

Upvotes: 0

Views: 33

Answers (1)

Karan
Karan

Reputation: 12629

Use JOIN as below to get desired output. Add o.total_amount in SELECT statement to return total_amount value.

CREATE PROCEDURE proc_assign_tier_for_rewards(
    @email varchar(255))
AS
BEGIN
    
    SELECT tier_name, 
           reward, 
           min_amount, 
           max_amount, 
           CONCAT(min_amount, '-', max_amount) AS range, 
           o.total_amount
    FROM reward_tier rt
    JOIN (SELECT SUM(total_amount) AS total_amount
           FROM dbo.orders
           WHERE company_email = @email
    ) o
        ON o.total_amount BETWEEN rt.min_amount AND rt.max_amount

END

Upvotes: 1

Related Questions