Мне нужно объединить 3 таблицы вместе и получить от них даты, цены, идентификаторы клиентов. Вот описание:
Сначала вам нужно выяснить идентификаторы клиентов, которые приобрели продукт в подразделении «Велосипедные аксессуары» с 1 января 2012 г. по настоящее время. Для этого вам нужно будет присоединить заказы к строкам заказов к продуктам.
Затем в родительском запросе вы объедините заказы со строками заказов и отфильтруете идентификаторы клиентов, которые указаны в результатах вашего подзапроса. Чтобы рассчитать доход от заказа за весь срок, вам нужно выполнить агрегированную функцию на основе результата цена * количество.
Итак, у меня есть таблица клиентов с идентификатором клиента, таблица строк заказов с номером заказа, ценой и количеством, таблица заказов с идентификатором клиента, номером заказа и датой заказа, а также таблица продуктов с разделением (необходима для получения `` Велосипедных аксессуаров '' извлечено). Я написал это и получаю ошибки от недопустимого идентификатора до отсутствующих выражений в зависимости от того, что я перемещаю.
select bc_orders.order_number, bc_orderlines.price, bc_orderlines.quantity, bc_orderlines.quantity*bc_orderlines.price AS "Total Revenue"
from (select bc_orders.*, bc_orderlines.*, bc_products.*
from bc_customers
join bc_orders
on bc_orders.order_number = bc_orderlines.order_number
join bc_products
on bc_products.sku = bc_orderlines.sku
where bc_orders.order_date >= '01-JAN-2012')
inner join bc_orderlines
on bc_orders.order_number = bc_orderlines.order_number
И я возвращаюсь:
Ошибка в командной строке: 5 Столбец: 31
Отчет об ошибке:
Ошибка SQL: ORA-00904: BC_ORDERLINES.ORDER_NUMBER: недопустимый идентификатор
Помощь!