我有这张表,我想得到下面的结果
prod_feat_val Table:
**id** **prod_id** **feat_id** **value**
1 34 20 touch screen
2 34 25 stamina
3 34 27 Android 1.6
4 12 20 keypad
5 12 27 android
6 45 20 touch
7 45 27 android 4
我想通过搜索特征值(值)来查询返回 prod_id(s)。示例:搜索具有 android 操作系统和触摸屏键盘的项目..这意味着返回:
prod_id
34
45
我的查询如下:
SELECT prod_id FROM prod_feat_val
WHERE
(feat_id = '27' AND value Like '%android%' ) AND (feat_id = '20' AND value Like '%touch%')
GROUP BY prod_id
我认为我的查询基本上是错误的,知道吗?如果我用 OR 替换中间的 AND 那么我的结果可能会损坏(返回 34,12,45 ::: 它的坏)......