पर मैच चाहिए मैं प्रश्न हैं:Mysql कहाँ ... में ... और जहां ... में ... केवल एक ही सूचकांक
SELECT * FROM `users`
WHERE (`firstname` LIKE 'Luke' AND `lastname` LIKE 'Skywalker') OR
(`firstname` LIKE 'Foo' AND `lastname` LIKE 'Bar') OR
(`firstname` LIKE 'Tom' AND `lastname` LIKE 'Turner');
लेकिन मैं इसे थोड़ा अधिक पठनीय बनाने के लिए चाहते हैं एक जहां का उपयोग करके ... में ... मैं
SELECT * FROM users
WHERE `firstname`
IN ('Luke','Foo','Tom') AND `lastname` IN ('Skywalker','Bar','Turner');
की कोशिश की लेकिन दुर्भाग्य से यह भी "Tom Skywalker"
, "Foo Turner"
से मिलान करेगा और सभी घुलमिल आप बंद सोच सकते हैं।
मुझे पहले और अंतिम नाम (शायद डीओबी जैसे अधिक फ़ील्ड) पर चयन करना है क्योंकि मुझे बाहरी एपीआई से डेटा मिल रहा है और मुझे यह जांचना है कि ये नाम हमारे सिस्टम में हैं या नहीं।
आपकी 'उपयोगकर्ता' तालिका में डेटा का स्तर क्या है और बाहरी API से पंक्तियों की संख्या आपको तुलना करने की आवश्यकता होगी? पंक्तियों की 100? 50,000 पंक्तियां? – mellamokb
मैं बाहरी एपीआई से 1000 नाम वापस प्राप्त कर सकता हूं (मैं अपने डेटाबेस से उपयोगकर्ताओं के साथ फेसबुक दोस्तों से मेल खाना चाहता हूं) मेरा स्वयं का डेटाबेस 10000 पंक्तियां प्राप्त कर सकता है (यह वर्तमान में एक परीक्षण फेज में है, लेकिन मैं अनुकूलित करना चाहता हूं मेरे सभी एसक्यूएल क्वेरी शुरुआती चरण में हैं) – Werring