我有一个表名company
Company | category_id
NEC | cg17,cg19,cg23
Huawei | cg55,cg17,cg25我这样质疑:
select * from company
where category_id RLIKE '^cg17,cg19'其结果是:
Company | category_id
NEC | cg17,cg19,cg23但当我这样质疑时:
select * from company
where category_id RLIKE '^cg17,cg23'我没有排,但我想要公司的" NEC ",因为NEC有category_id "cg17,cg19,cg23“。
怎么解决这个问题?
发布于 2015-03-20 05:32:03
一种方法是,如果您的类别总是有序的,并且不包括超过2位数的类别:
select * from company
where category_id LIKE 'cg17%cg23'IMHO的一种更好的方法,它将该字段视为适当的CSV值:
select * from company
where FIND_IN_SET('cg17', category_id) > 0
and FIND_IN_SET('cg23', category_id) > 0https://stackoverflow.com/questions/29159942
复制相似问题