MySQL - 选择所有UNLESS查询

时间:2012-07-24 17:57:32

标签: mysql

我有一个查询,我使用了这些作品,但现在我需要对其进行修改,以便在字段中包含特定数据时排除行。

这是当前的代码:

SELECT oc_ieentry,oc_sysitem,oc_item,oc_itemdesc,oc_purchasedate,oc_url
FROM catalog
WHERE oc_purchasedate >= date_sub(current_date, interval 21 day)
ORDER BY oc_item ASC

我需要做的是在那里添加一个语句,如果oc_ieentry LIKE 1,则不应显示那些行。

4 个答案:

答案 0 :(得分:1)

试试这个:

SELECT 
oc_ieentry,oc_sysitem,oc_item,oc_itemdesc,oc_purchasedate,oc_url 
FROM catalog 
WHERE (oc_purchasedate >= date_sub(current_date, interval 21 day)) 
AND (oc_ieentry NOT LIKE 1) 
ORDER BY oc_item ASC

答案 1 :(得分:1)

您可以在WHERE子句中添加另一个条件,例如:

SELECT oc_ieentry,oc_sysitem,oc_item,oc_itemdesc,oc_purchasedate,oc_url
FROM catalog
WHERE
    oc_purchasedate >= date_sub(current_date, interval 21 day)
    AND oc_ieentry != 1
ORDER BY oc_item ASC

答案 2 :(得分:0)

在WHERE中添加额外条件?

...
WHERE oc_purchasedate >= date_sub(current_date, interval 21 day) AND oc_ieentry <> 1
...

答案 3 :(得分:0)

您可以在WHERE子句中使用NOT关键字:

SELECT * from products WHERE prod_price NOT IN (49, 100, 999);

对你有帮助吗?