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 = 'foo@bar.com' AND phone = '555-1212';
しかし、一度に複数のペアを実行したいので、複数のSELECT
クエリを作成する必要はありません。要求されていない間違った電話/電子メールの組み合わせを返したくないので、ペアを一緒に保つことも重要です.
このようなこともできますが、値が数百になる可能性があるため、クエリは非常に長くなります。
SELECT * FROM email_phone_notes WHERE (
(email='foo@bar.com' && phone='555-1212') ||
(email='test@test.com' && phone='888-1212') ||
...
もっとエレガントな解決策はありますか、それともこれに固執する必要がありますか? ありがとう!