Заказы без оплат онлайн урок.


Для получения клиентов, которые сделали заказ, но не оплатили его, необходимо соединить столбцы таблиц заказчиков, заказов и оплат. При этом, нас интересуют записи в таблицах клиентов и заказов, которым нету соответствий в таблице оплат.

SELECT * FROM customers c
JOIN orders o ON c.id = o.customer_id
LEFT JOIN payments p ON p.customer_id = c.id

Теперь осталось отобрать записи, где значения в столбцах таблицы оплат NULL и сгруппировать по идентификатору клиента для избежания повторений:

SELECT c.id, c.name, c.last_name  FROM customers c 
JOIN orders o ON c.id = o.customer_id
LEFT JOIN payments p ON p.customer_id = c.id
WHERE p.id IS NULL
GROUP BY c.id