Я хочу написать запрос SQL для нескольких столбцов с условиями.
Таблица выглядит следующим образом.
organisation A B C D
Ikea 2018-04-01 2018-05-07 2018-05-09 2018-05-01
Ikea 2018-06-01 2018-05-03 2018-05-29 2018-07-01
Orange 2018-04-02 2018-05-01 2018-07-08 2018-05-26
Ikea 2018-06-02 2018-05-01 2018-07-08 2018-05-26
Nestle 2018-06-02 2018-05-01 2018-07-08 2018-05-26
Ikea 2018-05-04 2018-05-05 2018-04-02 2018-06-01
И я хочу получить строку, где организация - Ikea, и где самая ранняя дата среди четырех столбцов (A, B, C, D) находится между 2018-05-01 и 2018-05-31. Поэтому только вторая четвертая строка исходной таблицы выше соответствует условиям.
Итак, результат, который я хочу получить, должен быть:
organisation A B C D
Ikea 2018-06-01 2018-05-03 2018-05-29 2018-07-01
Ikea 2018-06-02 2018-05-01 2018-07-08 2018-05-26
Как мне написать SQL-запрос?
Вот моя попытка, но она не работает.
SELECT * FROM myTable
WHERE organisation LIKE Ikea
AND (A >= "2018-05-01" AND A <= "2018-05-31")
OR (B >= "2018-05-01" AND B <= "2018-05-31")
OR (C >= "2018-05-01" AND C <= "2018-05-31")
OR (D >= "2018-05-01" AND D <= "2018-05-31")
EDIT ::
Теперь я понял, что мне нужно иметь дело со значениями NA, где, если строка содержит NA, я хочу игнорировать NA и видеть самую раннюю дату среди остальных значений. Я создал еще один вопрос для этого, поэтому, пожалуйста, посмотрите. Спасибо за твою помощь!