簡體   English   中英

WHERE子句SQL中的多個子條件

[英]multiple sub-conditions in WHERE clause SQL

我有一個表的以下示例,我希望從中獲取Year為'2016'和'2017'的所有行,但要從Year'2017'中排除CustID'AB17'和'AB18'。 我總共應該得到12行。 看到這個小提琴

例:

SQL:

SELECT * FROM testing
WHERE Year In ('2016','2017') 
AND (CustID NOT In ('AB17','AB18') AND Year = '2017');

表:

Year    CustID  Revenue
2016    AB12    10
2016    AB13    11
2016    AB14    12
2016    AB15    13
2016    AB16    14
2016    AB17    15
2016    AB18    16
2017    AB12    10
2017    AB13    11
2017    AB14    12
2017    AB15    13
2017    AB16    14
2017    AB17    15
2017    AB18    16
2018    AB12    17
2018    AB13    18
2018    AB14    19
2018    AB15    20
2018    AB16    21
2018    AB17    22
2018    AB18    23

有什么建議么?

這應該工作:

WHERE 
Year = '2016' 
OR (Year = '2017'  AND CustID NOT In ('AB17','AB18'))

一個很直接的翻譯:

年份為“ 2016”和“ 2017”,但要從“ 2017”中排除CustID“ AB17”和“ AB18”。

是:

where year in (2016, 2017) and
      not (year = 2017 and custID in ('AB17', 'AB18'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM