У меня возникла следующая проблема:
Создайте оператор SQL, который показывает все отправленные заказы на общую сумму более 14 000 долларов США. Результаты должны содержать имя клиента, фамилию, идентификатор заказа, дату отправки заказа, количество товаров и общую сумму. Убедитесь, что при расчете общей суммы учитывается любая скидка.
Таблицы, из которых можно извлечь следующие данные: Элементы заказа: количество, list_price, скидка, идентификатор заказа
Заказ: идентификатор_порядка, дата отправления, статус_заказа, customer_id
Клиенты: first_name, last_name, customer_id.
Я довольно новичок в SQL и подзапросах, поэтому я попытался построить его изнутри, и он продолжал давать мне возвращенные строки ... до последнего соединения ("sub2"). Мой код ниже (не элегантный, но мне нужно выяснить проблему, прежде чем беспокоиться об этом).
select c.first_name, c.last_name, sub2.order_id, sub2.shipped_date, sub2.quantity, sub2.total_amount from customers AS c
INNER JOIN(
select o.order_id, o.shipped_date, o.order_status, o.customer_id, sub1.total_price FROM orders as o
INNER JOIN (
SELECT oi.order_id, SUM((oi.list_price * oi.quantity) - ((oi.list_price * oi.quantity) * (oi.discount))) AS total_price
FROM order_items AS oi
group by oi.order_id
) AS sub1
ON o.order_id = sub1.order_id
WHERE
sub1.total_price > 14000
AND
o.order_status = 4
) AS sub2
ON c.customer_id = sub2.customer_id
;
Я получаю ошибку «Неизвестный столбец» sub2.quantity «в» списке полей «Я думаю, Mysql не нравится это двойное вложение, так как я могу go решить эту проблему?