Php 选择具有不同可能组合的字段值
我想在包含项1、2、3、4、5的不同可能组合中选择字段的值。项目放置在何处并不重要,但每个字段必须包含每个项目Php 选择具有不同可能组合的字段值,php,mysql,sql,select,Php,Mysql,Sql,Select,我想在包含项1、2、3、4、5的不同可能组合中选择字段的值。项目放置在何处并不重要,但每个字段必须包含每个项目 id_num field1 field2 field3 field4 field5 1 item1 item2 item3 item4 item5 > true 2 item3 item3 item3 item4 item5 > fals
id_num field1 field2 field3 field4 field5
1 item1 item2 item3 item4 item5 > true
2 item3 item3 item3 item4 item5 > false
3 item2 item1 item3 item4 item5 > true
4 item5 item4 item3 item2 item1 > true
5 item1 item1 item3 item4 item5 > false
6 item2 item2 item4 item4 item5 > false
我尝试使用常规查询SELECT*from tb_name,其中field1=item1和field2=item2等。
它一定消耗了很多,或者效率不高
谢谢您可以使用该功能使查询比一堆和和或稍微简单一些:
SELECT *
FROM tb_name
WHERE FIELD ('item1', field1, field2, field3, field4, field5) > 0 AND
FIELD ('item2', field1, field2, field3, field4, field5) > 0 AND
FIELD ('item3', field1, field2, field3, field4, field5) > 0 AND
FIELD ('item4', field1, field2, field3, field4, field5) > 0 AND
FIELD ('item5', field1, field2, field3, field4, field5) > 0
尝试使用concat之类的工具
select concat(field1,field2,field3,field4,field5) as checkstring,item_id from table where
concat(field1,field2,field3,field4,field5) like '%item1%'
and concat(field1,field2,field3,field4,field5) like '%item2%'
and concat(field1,field2,field3,field4,field5) like '%item3%'
and concat(field1,field2,field3,field4,field5) like '%item4%'
and concat(field1,field2,field3,field4,field5) like '%item5%'
更新。哇,我不知道mysql有这样的功能,非常感谢您的快速回复!您好,我不知道它是否出现了问题或mysql 4不支持它显示错误:选择CONCAT(field1,field2,field3,field4,field5)checkstring,*来自tb_check WHERE checkstring,如“%item1%”结果:错误代码:1064您的SQL语法有错误。检查与您的MySQL服务器版本相对应的手册,以了解在“*from tb_Check where checkstring(如第1行的“%item1%”)附近使用的正确语法非常好!现在我也可以实现搜索功能了,谢谢史蒂夫!