У меня есть следующие таблицы (с их столбцами в скобках):
- products (productID, productName, categoryID)
- category (categoryID, categoryName)
- клиенты (customerID, customerName)
- заказы (customerID, create_at, productID)
Я могу успешно использовать внутреннее объединение, чтобы отобразить все детали заказа и включить имена продуктов и клиентов.
select products.productName, orders.create_at, customers.customerName
from orders
inner join products on orders.productID=products.productID
inner join customers on orders.customerID=customers.customerID;
Теперь я хочу отображать только те заказы, в которых товар относится к категории "ноутбук". И моя попытка была следующей:
select products.productName, orders.create_at, customers.customerName
from orders
inner join products on orders.productID=products.productID
inner join customers on orders.customerID=customers.customerID where categories.categoryName='laptop';
Но это не работает, и я предполагаю, что это потому, что предложение where должно основываться на столбце, который принадлежит таблице заказов.
Я получаю следующую ошибку:
ERROR 1054 (42S22): Unknown column 'categories.categoryName' in 'where clause'
Как я могу показать только заказы, продукты которых относятся к определенной категории c?