我想获取属于用户ID的数据。 现在我想基于2个条件获取数据。我希望显示空闲和活动用户的记录。
我使用了以下查询来执行此操作。但我无法检索数据。
这里product_proposer是user_id.one user_id有很多products.i想要获取属于那个product_status是$ active和$ soldout的用户id的数据。
以下查询返回output-1
SELECT product_id,product_name FROM product_list WHERE product_proposed_user_id ='12' AND product_publish_status = '0'
输出-1:
94 MARSHALL MG SERIES MG15CFX GUITAR COMBO AMP CARBON...
95 SESSION STUDIO CLASSIC
****** ---
查询-2:
SELECT product_id,product_name FROM product_list WHERE product_proposed_user_id ='12' AND product_publish_status = '4'
返回 输出-2:
213 Mountain bike
现在我想通过组合两个查询来获得输出,即
SELECT product_id,product_name FROM product_list WHERE product_proposed_user_id ='12' AND product_publish_status = '0' AND product_publish_status = '4'
所以输出应该是:
94 MARSHALL MG SERIES MG15CFX GUITAR COMBO AMP CARBON...
95 SESSION STUDIO CLASSIC
213 Mountain bike
但是当我运行此查询时,它什么也没有返回。
我该如何解决这个问题?
答案 0 :(得分:1)
只是为了突出SQL中AND和OR运算符的基本规则
SELECT product_id,product_name FROM product_list
WHERE product_proposed_user_id ='12'
AND product_publish_status = '0'
AND product_publish_status = '4'
以上是您的查询
您提到了SQL服务器来获取结果from product_list where
product_proposed_user_id ='12'
AND product_publish_status = '0'
AND product_publish_status = '4'
现在,SQL将搜索product_list where
product_proposed_user_id ='12'
AND product_publish_status = '0'
AND product_publish_status = '4'
但是,product_list中没有单个记录,其product_publish_status等于' 0'和' 4'。因此它会返回0条记录
为了获得所需的输出,您需要将查询编写为
SELECT product_id,product_name FROM product_list
WHERE
(product_proposed_user_id ='12' AND product_publish_status = '0')
OR
(product_proposed_user_id ='12' AND product_publish_status = '4')
您将获得预期的输出。请尝试告诉我们。