Три таблицы: users (id, last_name, first_name), purchases (id, user_id, sku, purchased_at) и blocked_users (user_id, blocked_at) — список заблокированных.
Выведи user_id, last_name, first_name и sku для всех покупок, совершённых пользователем до момента его блокировки (покупки в сам момент блокировки и позже не считаются; у незаблокированных пользователей подходят все покупки). Отсортируй по sku.
1CREATE TABLE users (2 id int PRIMARY KEY,3 last_name text NOT NULL,4 first_name text NOT NULL5);6CREATE TABLE purchases (7 id int PRIMARY KEY,8 user_id int NOT NULL REFERENCES users (id),9 sku text NOT NULL,10 purchased_at timestamp NOT NULL11);12CREATE TABLE blocked_users (13 user_id int PRIMARY KEY REFERENCES users (id),14 blocked_at timestamp NOT NULL15);16INSERT INTO users VALUES (1, 'Иванов', 'Иван'), (2, 'Петрова', 'Анна'), (3, 'Сидоров', 'Олег'), (4, 'Козлов', 'Пётр');17INSERT INTO blocked_users VALUES (1, '2024-03-01 12:00'), (3, '2024-01-01 00:00');18INSERT INTO purchases VALUES19 (1, 1, 'A-100', '2024-02-01 10:00'), -- до блокировки20 (2, 1, 'B-200', '2024-03-01 12:00'), -- ровно в момент блокировки21 (3, 1, 'C-300', '2024-03-05 09:00'), -- после22 (4, 2, 'A-100', '2024-01-10 08:00'), -- не заблокирован23 (5, 2, 'D-400', '2024-06-01 08:00'),24 (6, 3, 'E-500', '2024-02-01 00:00'); -- только после блокировки25-- у Козлова покупок нет