Как отфильтровать только подмножество данных при сохранении существующих записей, как в таблице?

[SQL Новичок] У меня есть таблица, которая выглядит следующим образом:

id             date
1              2019-01-01
1              2019-01-02
2              2019-03-01
2              2019-05-01

Я хочу только отфильтровать id колонка на 2 где дата между 2019-04-01 и 2019-05-01 без влияния id равняется 1,

Новая таблица должна выглядеть так:

id             date
1              2019-01-01
1              2019-01-02
2              2019-03-01

Я попробовал это:

select * from table1 where id =2 and date between 2019-03-01 and 2019-04-01

И получите этот набор данных:

id             date

2              2019-03-01

2 ответа

Решение

Я думаю ты хочешь or:

where id = 1 or
      (id = 2 and date between '2019-03-01' and '2019-04-01')

Для желаемого результата нужно

select * from table1 where  [date] >= '2019-01-01' and [date] <= '2019-03-01'
Другие вопросы по тегам