Michi :
CREATE TABLE logistics (
id int primary key,
campaign VARCHAR(255),
quantity_offered VARCHAR(255),
quantity_ordered VARCHAR(255),
quantity_delivered VARCHAR(255),
quantity_recorded VARCHAR(255),
quantity_completed VARCHAR(255)
);
INSERT INTO logistics
(id, campaign,
quantity_offered, quantity_ordered, quantity_delivered,
quantity_recorded, quantity_completed
)
VALUES
("1", "C001", "500", "450", "465", "462", "465"),
("2", "C002", "700", "570", NULL, NULL, NULL),
("3", "C003", "600", "610", "605", "602", NULL),
("4", "C004", "300", NULL, NULL, NULL, NULL),
("5", "C005", "400", "425", NULL, NULL, NULL),
("6", "C006", "900", "870", "868", NULL, NULL),
("7", "C007", "350", "360", "372", "375", "390"),
("8", "C008", "250", "290", NULL, NULL, NULL);
上記の表では、私は別の持っているcampaigns
彼らが対応しますquantities
。さまざまに充填されています。quantities
columns
今、私が取得したい、最新の利用可能量をそれぞれにcampaign
次のような階層に基づきます:
quantity_completed > quantity_recorded > quantity_delivered > quantity_ordered > quantity_offered
結果は次のようになります。
Campaign Quantity
C001 465
C002 570
C003 602
C004 300
C005 425
C006 870
C007 390
C008 290
クエリは、これを達成するために私が必要なのですか?
ゴードン・リノフ:
用途coalesce()
:
select campaign, coalesce(quantity_completed, quantity_recorded, quantity_delivered, quantity_ordered, quantity_offered) as quantity
from logistics;