【发布时间】:2018-05-23 01:40:53
【问题描述】:
我正在尝试基于同一个表中的多个值实现简单的输出,并让它返回产品 ID:
我用过
SELECT * FROM
dh_product_properties
WHERE prod_id IN (SELECT prod_id FROM dh_product_properties
WHERE (prod_prop_value = 'iPad Mini 3' AND
prod_prop_value = 'Silver'));
希望它会返回任何包含 Silver 和 iPad Mini 3 的行 (Prod_id)。
这是一个表格示例:
+------------+--------------------------------------+----------+--------------------------------------+
| id,prod_id | prod_ | sku | prod_prop_value |
+------------+--------------------------------------+----------+--------------------------------------+
| 3946 | ddd329ec-4323-4381-b683-09e3e2b71b34 | Apple033 | Grade A iPad Mini: Fully packaged... |
| 3947 | ddd329ec-4323-4381-b683-09e3e2b71b34 | Apple033 | 3 |
| 3948 | ddd329ec-4323-4381-b683-09e3e2b71b34 | Apple033 | Retina Display |
| 3949 | ddd329ec-4323-4381-b683-09e3e2b71b34 | Apple033 | Finger Print Sensor |
| 3999 | 85799e94-e9f9-4689-95a5-2a2e742af43d | Apple011 | 32GB |
| 4000 | 85799e94-e9f9-4689-95a5-2a2e742af43d | Apple011 | Bluetooth |
| 4001 | 85799e94-e9f9-4689-95a5-2a2e742af43d | Apple011 | TRUE |
| 4002 | 85799e94-e9f9-4689-95a5-2a2e742af43d | Apple011 | Integrated Speakers |
| 4003 | 85799e94-e9f9-4689-95a5-2a2e742af43d | Apple011 | White with Silver |
| 4004 | 85799e94-e9f9-4689-95a5-2a2e742af43d | Apple011 | Built-In Rear Camera |
| 4005 | 85799e94-e9f9-4689-95a5-2a2e742af43d | Apple011 | 100 |
+------------+--------------------------------------+----------+--------------------------------------+
在阅读了其他人之后,我也有这个:
SELECT prod_id
FROM dh_product_properties
WHERE prod_prop_value = 'iPad Mini 3' AND prod_prop_value IN ('Silver')
GROUP BY prod_id;
但我得到的所有记录都持有 iPad Mini 3 或 Silver,而不是合并。
任何人都可以建议一种方法来做到这一点。知道可以,但是不知道怎么搜索。
我在 Google 中尝试过: mysql多次AND mysql在一列中选择多个值
没有一个答案真正符合我的要求。
更新
如果我们使用上面的示例。 Apple033 是 iPad Mini 3,Apple011 是 iPad Mini 2。如果我们搜索 iPad Mini 2,White with Silver,它应该只带回 Apple011。目前它什么也没带回来,或者,每件物品都带有白色和银色,或 iPad Mini 2。
谢谢
添加
【问题讨论】:
-
SQL 查询中缺少右括号。这只是复制和粘贴错误吗?
-
在您尝试使用 like 而不是 IN 的第二个查询中。
-
@BadAddy,显示预期结果的外观
-
@RomanPerekhrest Hiya。它应该只给我一个 prod_id,满足值条件。