несколько подусловий в предложении WHERE SQL - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть следующий пример таблицы, из которой я хочу, чтобы все строки, где Год был '2016' и '2017', но я хочу исключить CustID 'AB17' и 'AB18' из года '2017'. Всего я должен получить 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

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Довольно прямой перевод:

Год - «2016» и «2017», но необходимо исключить CustID «AB17» и «AB18» из года «2017».

есть:

where year in (2016, 2017) and
      not (year = 2017 and custID in ('AB17', 'AB18'))
0 голосов
/ 04 сентября 2018

Это должно работать:

WHERE 
Year = '2016' 
OR (Year = '2017'  AND CustID NOT In ('AB17','AB18'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...