Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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
Mysql 查询具有多行匹配的列表行_Mysql - Fatal编程技术网

Mysql 查询具有多行匹配的列表行

Mysql 查询具有多行匹配的列表行,mysql,Mysql,我有两个电子商务网站的表格,我正在尝试为列出的项目应用过滤器 表1:项目具有项目id、项目名称 表2:输入有输入值、项目、规格 我需要这样做一个查询,这样我就可以得到所有颜色为红色、大小为38的项目: SELECT * FROM items , inputs WHERE inputs.item = items.item_id AND inputs.spec='color' AND inputs.input_value = 'red' AND inputs.s

我有两个电子商务网站的表格,我正在尝试为列出的项目应用过滤器

表1:项目具有项目id、项目名称

表2:输入有输入值、项目、规格

我需要这样做一个查询,这样我就可以得到所有颜色为红色、大小为38的项目:

SELECT * 
  FROM items
     , inputs
 WHERE inputs.item = items.item_id
   AND inputs.spec='color' 
   AND inputs.input_value = 'red'
   AND inputs.spec = 'size' 
   AND inputs.input_value='38'

首先想到的是

编辑:只是为了给回复增加一点可信度。在链接站点上,他们提供了一种通过使用in子句以MySQL方式进行查询的方法。但不确定这是否是最好的方法

选择items.item\u id、items.item\u name 从项目、输入 其中inputs.item=items.item\u id 和inputs.spec='color'和inputs.input\u value='red' 和items.item_id在中 选择items.item\u id 从项目、输入 其中inputs.item=items.item\u id 和inputs.spec='size'和inputs.input_value='38'; OLD:正如有人指出的那样,这并不奏效:

我没有亲自运行它,但在您的情况下,它应该是这样的:

从项目、输入中选择items.item\u id、items.item\u name 其中inputs.item=items.item\u id 和inputs.spec='color'和inputs.input\u value='red' 横断 从项目、输入中选择items.item\u id、items.item\u name 其中inputs.item=items.item\u id 和inputs.spec='size'和inputs.input_value='38' 第一个查询获取颜色输入值为红色的所有项。 第二个查询获取具有值为38的大小输入的所有项。 然后INTERSECT操作符返回两个查询返回的所有项


如果你知道集合上的数学交点。基本上是一样的。

我需要这样做查询。。。好吧,我明白了,有什么问题吗?错误消息是什么?看看为什么你链接到一个与MySQL无关的页面?哦,是的。。。你完全正确。我读得太快了。我想我太急于回应了。无论如何,这应该不起作用。这可能就是为什么提供了删除按钮