【发布时间】:2011-01-03 17:04:04
【问题描述】:
之前我问过如何为多个值过滤一列,其中所有值都必须存在于列中,否则不应给出任何结果。我收到了很好的答案,但这次我的要求有所改变,我需要一些不同的东西。
所以我需要为一对值过滤一列,并且仅当所有这些值都存在并且所有这些值都与另一列中的一个值相关时才显示结果。
示例表:
+----+--------+----------+
|编号 |水果 |颜色 |
+----+--------+----------+
| 1 |苹果| 高分辨率照片| CLIPARTO绿色 |
| 2 |苹果| 高分辨率照片| CLIPARTO黄色 |
| 3 |香蕉| 高分辨率照片| CLIPARTO绿色 |
| 4 |香蕉| 高分辨率照片| CLIPARTO黄色 |
| 5 |芒果 |绿色 |
+----+--------+----------+
例如如果提交了值“绿色和黄色”,则只有同时具有这两种颜色的水果才会出现在结果集中,在本例中为“苹果”和“香蕉”。所有其他行都应该被忽略。
我正在使用 MySQL 和 php。
“错误代码”示例:
select Fruit FROM table WHERE Color = green AND Color = yellow
必须返回前 4 行,但不能返回 5。
谢谢
安德鲁
【问题讨论】: