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)的数据库表,用于存储所有产品信息。
我正在使用以下查询根据选择的Setup_Item(si)从Product(p)表中获取信息
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()更好的方法,请告诉我!!!
答案 0 :(得分:1)
使用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)