比方說,我有一個表,email_phone_notes
看起來像這樣具有多對行:MySQL的:如何批量選擇在WHERE子句
+-----------------------+--------------+------+-----+---------+-------+
| 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') ||
...
有沒有更優雅的解決方案,還是應該堅持下去?謝謝!
哇,這是偉大的語法! –