Страницы

Поиск по вопросам

пятница, 12 апреля 2019 г.

MySQL, переделать запрос для выборки

Есть массив, вида
[ {date: '2015-05-01', number: 1}, {date: '2015-05-01', number: 2}, {date: '2015-05-03', number: 1}, ]
Как можно составить запрос для MySQL, что бы вернуть данные по совпадению date AND number в этом массиве.
То есть для таких данных будет запрос:
SELECT * FROM TABLE WHERE (date='2015-05-01' AND number=1) OR (date='2015-05-01' AND number=2) OR (date='2015-05-03' AND number=1)
Но, может есть более простой/компактный/красивей вариант?


Ответ

Вы можете использовать конструкцию in вот так:
SELECT * FROM TABLE WHERE (date, number) in (('2015-05-01', 1), ('2015-05-01', 2), ('2015-05-03', 1))
Sql Fiddle пример

Комментариев нет:

Отправить комментарий