Get values based on IF condition

Michi :

SQL-Fiddle

CREATE TABLE Campaigns (
    Campaign_ID VARCHAR(255),
    Campaign_Type VARCHAR(255),
    Quantity_Offered VARCHAR(255),
    Quantity_Sold VARCHAR(255)
);

INSERT INTO Campaigns
(Campaign_ID, Campaign_Type, Quantity_Offered, Quantity_Sold)
VALUES 
("C001", "Type_A", "500", "300"),
("C002", "Type_B", "600", "400"),
("C003", "Type_B", "900", "400"),
("C004", "Type_B", "930", "800"),
("C005", "Type_A", "150", "120"),
("C006", "Type_A", "430", "400"),
("C007", "Type_B", "850", "550"),
("C008", "Type_A", "730", "650"),
("C009", "Type_A", "580", "370");

In the table above I have different campaigns with different Campaign_Type.

Now, I want to use a query which selects the Quantity based on the Campaign_Type:
If the Campaign_Type is Type_A the Quantity_Sold should be used.
If the Campaign_Type is Type_B the Quantity_Offered should be used.

I think the query should look something like this:

SELECT
Campaign_ID,
Campaign_Type,
If Campaign_Type ="Type_A" Then Quantity_Sold else Quantity_Offered AS Quantity
FROM Campaigns;

However, I could not make it work so far.
What do I need to change to make the IF condition work?

Ahmed Sunny :

You can use case like this

SELECT
Campaign_ID, Campaign_Type, 
case when Campaign_Type ="Type_A" 
then Quantity_Sold 
else Quantity_Offered 
end as Quantity 
FROM Campaigns

for single case fiddle

for multiple cases fiddle

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=10140&siteId=1