Potrzebuję rozpisać logicznie taki warunek:
klienci którzy kupili produkt x w jakimś okresie ale od miesiąca go nie kupują lub klienci którzy zamówili produkt y. Czy w zaprezentowanej wersji warunek not exists dotyczy tylko tej grupy, która kupiła produkt 'x' czy obu ? i ewentualnie jak to zapisac zeby warunek dotyczył obu grup klientów?
SELECT customer_id
FROM customer as c
WHERE exists (SELECT 1
FROM order as o
WHERE c.customer = o.customer
and product = x
and o.time_create >= '2023-01-01
and o.time_create < '2023-02-01)
AND not exists (SELECT 1
FROM order as o
WHERE c.customer = o.customer
and product = 'x'
and o.time_create >= curdate() - interval 1 month
OR exists (SELECT 1
FROM order as o
WHERE c.customer = o.customer
and product = 'y')