场景:商标查询同名多类:例如:商标名为 A,注册了多个类别,有12,18,24,35类;商标B,注册有18,24类;商标C,注册有12,18,24类。
要求:前端选择多个类别,假如选择了 12,18,24,那么筛选到的商标是 A,C;假如选择12,结果是A,C;假如选择18,24,结果是B,C。条件:
前台:可以选择多个类别,英文逗号隔开的类别id。例如12,18,24,(each循环末尾会多个逗号)
数据库:
问:mysql语句怎么写呢,我用的php框架是laravel的,如果有laravel查询语句就更好了

解决方案 »

  1.   

    这样能查询到多个商标名。
    SELECT * FROM TABLE_NAME WHERE find_in_set(BID,传入字符串) ;
    这样能查询到唯一的商标名。
    SELECT title FROM TABLE_NAME WHERE find_in_set(BID,传入字符串) GROUP BY title;
      

  2.   

    select * from brands as a where ( SELECT count(*) FROM brands as b WHERE find_in_set(bid,'12,18,24,') and b.title = a.title GROUP BY title ) >= 3;我造了个这个语句满足条件