Итак, у меня есть 3 таблицы с именами menus
, products
и categories
.
Таблица меню имеет идентификатор, item_type, который может быть product | category и item_id.
Что бы я хотел сделать, это когда menu item_type = product
, соедините его с таблицей продуктов ON products.id = menu.item_id
и соедините с categories when item_type = category
.
Это мой текущий запрос:
SELECT m.* FROM menus m
LEFT JOIN products p ON p.id = m.item_id AND m.item_type = 'product'
LEFT JOIN categories c ON c.id = m.item_id AND m.item_type = 'category'
Запрос работает, хотя я не вижу данных о товарах или категориях, прикрепленных к каждому меню.
Я что-то здесь упускаю? Благодаря.