返回满足多个条件的值

时间:2018-07-16 18:22:37

标签: sql

我正在尝试编写一个查询,该查询返回所有行,但同一行中满足两个条件的行除外。

我尝试了以下代码的一些变体,但没有任何运气。

Select *
from ad_data
where (app <> 'instagram' and vendor <> 'Doubleclick')
and event_date between '2018-7-06' and '2018-7-12'

基本上,我只希望此查询返回表中的所有行,但应用程序为instagram且供应商为doubleclick的行除外。

2 个答案:

答案 0 :(得分:0)

希望,我正确理解了您的问题。请检查以下查询。

    Select *
    from ad_data
    where (coalesce(app,'x') <> 'instagram' and coalesce(vendor,'x') <> 'Doubleclick')
    and event_date between '2018-7-06' and '2018-7-12'

答案 1 :(得分:0)

我想你是说 OR

Select *
    from ad_data
where (app <> 'instagram' OR vendor <> 'Doubleclick')
and event_date between '2018-7-06' and '2018-7-12'

条件1:(app <> 'instagram' OR vendor <> 'Doubleclick')

所有行都排除了app ='instagram'和vendor ='dbl ...'

因为:!(A && B)=(!A ||!B)link

或者这样看:两个条件都满足时,您要排除在外。与以下内容相同:您不希望在不满足一个条件时排除。


条件2:event_date between '2018-7-06' and '2018-7-12'