MYSQL - 在同一个Colum中选择2个值

时间:2017-04-01 11:17:50

标签: mysql

我正在尝试从我的数据库中获取一些产品,其中有1号和2号

"SELECT * FROM dagenshug_product WHERE stock_quantity > '0' AND product_in_sale = '1' AND category_sex = '1' AND category_sex = '2' AND category_id = '".$req_category_id."' ORDER BY id DESC");

正如你所看到的,我选择了category_sex两次,但只返回第一个的值,(alle with 1)

我如何让两者兼得? ;)

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

我认为你需要这个:

"SELECT * FROM dagenshug_product 
WHERE 
stock_quantity > 0 AND product_in_sale = '1' AND category_sex IN('1', '2') AND category_id = '".$req_category_id."' ORDER BY id DESC");

category_sex = '1' AND category_sex = '2'没有意义,因为这意味着同一行的此列的值应该同时为“1”和“2”。这是不可能的。

也不要使用这样的表达式:stock_quantity > '0'。这是数学比较,因此您可以直接使用数值:stock_quantity > 0

答案 1 :(得分:1)

"SELECT * FROM dagenshug_product WHERE stock_quantity > '0' AND product_in_sale = '1' AND (category_sex = '1' OR category_sex = '2') AND category_id = '".$req_category_id."' ORDER BY id DESC");

试试这个