Я использую SQL Server 2017 и пытаюсь очистить свой набор данных с помощью оператора «И / ИЛИ» в операторе where
Это то, что у меня есть, но оно не работает.
WHERE
([Campaign] NOT LIKE '%Search%')
AND (([Campaign] = '2018 BRAND'
AND [Tactic] <> 'Display'
AND [Date] NOT BETWEEN '2018-01-01' AND '2018-04-27')
OR
([Campaign] = '2017 BRAND'
AND [Date] NOT BETWEEN '2017-01-01' AND '2017-01-07'))
Выход:
Row Channel Campaign Tactic Date Visits
----------------------------------------------------------------
1 Digital 2017 Brand Display 1/1/2017 43
2 Search 2018 Search Search 2/3/2018 50
3 Digital 2018 Brand Video 4/10/2018 102
4 Digital 2018 Local Display 4/9/2018 82
5 Digital 2018 eLocal Video 3/28/2018 79
6 Search 2018 Search Search 4/5/2018 30
7 Digital 2017 Local Display 1/4/2017 22
8 Search 2017 Search Search 4/5/2017 21
9 Digital 2018 Brand Display 2/2/2018 43
10 Digital 2018 Brand Display 2/24/2018 71
3 вещи, которые я пытаюсь удалить:
- Все поисковые кампании (строки 2, 6, 8)
- Все данные в период с 01.01.2017 по 07.01.2017 для кампании «Бренд 2017» (строка 1)
- Все данные в период с 01.01.2008 г. по 29.04.2008 г. для кампании «Марка 2018» и являются тактикой «Отображение» (строки 9 и 10)