Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择具有不同可能组合的字段值_Php_Mysql_Sql_Select - Fatal编程技术网

Php 选择具有不同可能组合的字段值

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

我想在包含项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   > 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%”)附近使用的正确语法非常好!现在我也可以实现搜索功能了,谢谢史蒂夫!