Database Setup_Items
id product
1 53,23,11,57
Database Product
id name
53 product 53
23 product 23
11 product 11
57 product 57 etc etc etc
Поэтому у меня есть таблица базы данных для Setup_Items (si), которая объединяет несколько продуктов в группу. Затем у меня есть таблица базы данных для Product (p), которая хранит всю информацию о продукте.
Я использую следующий запрос для получения информации из таблицы Product (p), на основе которой выбран параметр Setup_Item (si)
SELECT p.id, p.name,p.image
FROM Setup_Items as si
INNER JOIN Product as p ON si.products LIKE CONCAT(',', p.id, ',')
Вот моя проблема. В базе данных находятся следующие элементы...
Setup_Items.products = 53,23,11,57
Текущие результаты
Необходимые результаты
Мне нужны только 4 результата. 53, 23, 11, 57
Как мне написать этот запрос, чтобы получить эти результаты?
Если есть лучший метод, чем concat(), пожалуйста, дайте мне знать !!!
Используйте FIND_IN_SET:
SELECT p.id, p.name
FROM Setup_Items as si
INNER JOIN Product as p ON FIND_IN_SET(p.id, si.product)