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 booking (`ChildId` INTEGER, `Day` INTEGER, `Room` INTEGER, `Week` INTEGER);

INSERT INTO booking (`ChildId`, `Day`, `Room`, `Week`) VALUES
('1', '1', '20', '1'),
('1', '2', '20', '1'),
('2', '1', '20', '2'),
('3', '1', '20', '1'),
('3', '2', '20', '1'),
('3', '1', '20', '2');
Records: 6  Duplicates: 0  Warnings: 0
SELECT ChildId
FROM booking
WHERE Week IN (1, 2)
GROUP BY ChildId
HAVING MIN(Week) = 2
OR GROUP_CONCAT(DISTINCT CASE WHEN Week = 1 THEN Day END ORDER BY Day) <>
GROUP_CONCAT(DISTINCT CASE WHEN Week = 2 THEN Day END ORDER BY Day);
ChildId
2
3