add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE Purchasing (
purchasing_id int auto_increment primary key,
campaign VARCHAR(255),
main_event VARCHAR(255),
sub_event VARCHAR(255),
quantity VARCHAR(255)
);

INSERT INTO Purchasing
(campaign, main_event, sub_event, quantity)
VALUES
("C001", "Offered", NULL, "500"),
("C001", "Ordered", NULL, "450"),
("C001", "Storing", "Delivered", "465"),
("C001", "Storing", "Recorded", "440"),
("C001", "Storing", "Completed", "445"),

("C002", "Offered", NULL, "600"),
("C002", "Ordered", NULL, "700"),
("C002", "Storing", "Delivered", "690"),
("C002", "Storing", "Recorded", "692"),

("C003", "Offered", NULL, "300"),
("C003", "Ordered", NULL, "250"),
("C003", "Storing", "Delivered", "320"),

("C004", "Offered", NULL, "800"),
("C004", "Ordered", NULL, "870"),
("C004", "Storing", "Delivered", "740"),

("C005", "Offered", NULL, "240"),
("C005", "Ordered", NULL, "250"),
("C005", "Storing", "Delivered", "226"),

("C006", "Offered", NULL, "100"),
("C006", "Ordered", NULL, "105"),
Records: 22  Duplicates: 0  Warnings: 0
SELECT p.*
FROM Purchasing p
WHERE p.purchasing_id = (SELECT p2.purchasing_id
FROM Purchasing p2
WHERE p2.campaign = p.campaign
ORDER BY field(p2.main_event, 'Storing', 'Ordered', 'Offered'),
field(p2.sub_event, 'Completed', 'Recorded', 'Delivered')
LIMIT 1
);
purchasing_id campaign main_event sub_event quantity
5 C001 Storing Completed 445
9 C002 Storing Recorded 692
12 C003 Storing Delivered 320
15 C004 Storing Delivered 740
18 C005 Storing Delivered 226
20 C006 Ordered null 105
21 C007 Offered null 900
22 C008 Offered null 400