Скажем, у меня есть таблица email_phone_notes
, которая выглядит так:
+-----------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+-------+
| email | varchar | NO | PRI | NULL | |
| phone | varchar | NO | PRI | NULL | |
| notes | text | NO | | 0 | |
+-----------------------+--------------+------+-----+---------+-------+
Таким образом, каждая комбинация электронной почты и телефона уникальна, но у вас может быть несколько адресов электронной почты с разными номерами телефонов и наоборот. Это немного надуманно, но это отражает мой сценарий.
Я хотел бы сделать такой запрос:
SELECT * FROM email_phone_notes WHERE email = '[email protected]' AND phone = '555-1212';
Но я бы хотел сделать несколько пар одновременно, поэтому мне не нужно делать несколько запросов SELECT
. Также важно сохранить пары вместе, потому что я не хочу возвращать ошибочную комбинацию телефона/электронной почты, которая не запрашивалась.
Я мог бы сделать что-то подобное, но для возможности нескольких сотен значений запрос будет очень длинным.
SELECT * FROM email_phone_notes WHERE (
(email='[email protected]' && phone='555-1212') ||
(email='[email protected]' && phone='888-1212') ||
...
Есть ли более элегантное решение, или я должен придерживаться этого? Спасибо!