什么是查询 - >如何获取其列由数据逗号分隔值组成的表内容如何检查该值是否存在于该列中然后选择该产品的ID
id productname poduct_cat_id
1 abc 2,3,4
2 def 3,4
3 efg 1,2,5
如何检查product_cat_id中的3并获取产品名称和ID
输出:result [id] = 1 导致[产品] = ABC
答案 0 :(得分:2)
答案 1 :(得分:1)
如果在字段中添加前导和尾随逗号,则可以使用简单的表达式来选择感兴趣的行。
SELECT * FROM table
WHERE CONCAT(',', product_cat_id, ',') LIKE '%,3,%'
答案 2 :(得分:1)
我估计FIND_IN_SET function将成为你的朋友。
答案 3 :(得分:0)
select id, productname
from table
where product_cat_id like '%,3,%'
or product_cat_id like '3,%'
or product_cat_id like '%,3'
答案 4 :(得分:-1)
如果你不考虑改变表的结构......视线:
这是一个蹩脚的查询:
SELECT `id`,`productname`
FROM `place_table_name_here`
WHERE `poduct_cat_id` LIKE '%3%';
但它会给你答案。