IF条件に基づいて値を取得します。

Michi :

SQL-フィドル

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");

上記の表では、私は違うと異なるキャンペーンを持っていますCampaign_Type

今、私が選択したクエリを使用する場合Quantityに基づいてCampaign_Type
場合Campaign_Type使用されるべきですが。 場合使用されるべきです。Type_AQuantity_Sold
Campaign_TypeType_BQuantity_Offered

私は、クエリは次のようになりますだと思います。

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

しかし、私はそれがこれまでに動作させることができませんでした。
作るために変更するには、私が何を必要としないIF条件の仕事を?

サニーアーメド:

あなたは、このようにケースを使用することができます

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

単一の場合のフィドル

複数のケースのためのフィドル

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=10288&siteId=1