如何使用AND语句选择产品选项? DEMO
我需要选择所有产品选项,比较两列,但我做错了......
SELECT * FROM `cart_option`
WHERE (`cart_option`.`product_id`=100)
AND ((`option_id`=2 AND `option_value_id`=3)) AND ((`option_id`=1 AND `option_value_id`=2))
我应该如何对AND语句进行分组?
答案 0 :(得分:2)
您不能仅使用AND,option_id不能同时等于2且等于1。 这应该可以解决问题
SELECT
*
FROM
cart_option
WHERE
cart_option.product_id = 100
AND ((option_id = 2 AND option_value_id = 3) OR
(option_id = 1 AND option_value_id = 2))
答案 1 :(得分:0)
如果我理解正确,您会AND
与OR
混淆......
SELECT
*
FROM
cart_option
WHERE
cart_option.product_id=100
AND (
(option_id=2 AND option_value_id=3)
OR
(option_id=1 AND option_value_id=2)
)
答案 2 :(得分:0)
你想这样吗?
SELECT * FROM cart_option`
WHERE (cart_option.product_id=100)
OR ((option_id=2 AND option_value_id=3))
OR ((option_id=1 AND option_value_id=2))
答案 3 :(得分:0)
只需用OR替换AND
((`option_id`=2 AND `option_value_id`=3) OR (`option_id`=1 AND `option_value_id`=2))
答案 4 :(得分:0)
使用:
SELECT COUNT(*)
FROM cart_option
WHERE cart_option.product_id = 100
AND (option_id, option_value_id) IN ((2, 3), (1, 2))
如果表格中存在两行,则结果必须为2
。