Я хотел бы выполнить запрос к двум таблицам "продукты" и "категория". В моей таблице продуктов 30 записей.Таблица продуктов имеет имя столбца category_ids varchar (255), в котором хранятся идентификаторы категории в формате (10,11,12,130, ..) для каждой записи таблицы продуктов.В сортировке товара может быть много категорий.таблица категорий с именем столбца parent_id, который является родительской категорией этой категории.
Я хочу перечислить запись со всеми категориями этого продукта.
Например, посмотрите на одну запись таблицы продуктов, имеющую id = 7.
product_Id = 7,
category_ids = '213,215,216',
product_name = 'Ponds',
.....
Средство для прудов продуктов имеет три категории = category.id = 213, category.id = 215 и категорию.id = 216.
Я хочу перечислить здесь все три записи прудов, как в этом формате: =
product_Id | product_name | category_name | parent_category_name
7 ponds cream chemical
7 ponds medicine chemical
7 ponds powder Ayurvedic
Я пытаюсь с этим запросом: -
select
p.id as product_id,
p.product_name,
child.name as category_name,
parent.name as parent_category_name
from category child
left join products p on child.id in(p.category_ids)
left join category parent on parent.id = child.parentid and parent.parentid = 0
where p.id = 7
Приведенный выше запрос получает только одну запись, а не все три записи, как указано выше.
Какое условие и соединение в этом запросе будут применяться для получения результата, как описано выше.
Извините, что потратил вашиценное время.
Буду признателен за любые предложения и идеи.
Большое спасибо.