У меня есть запрос: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"
и все перемешивает вы можете думать прочь.
Мне нужно выбрать на первом и последнем имени (возможно, больше полей, таких как DOB), так как я получаю данные от внешнего API, и мне нужно проверить, находятся ли эти имена в нашей системе.
Каков масштаб данных в вашей таблице 'users' и количестве строк из внешнего API, которые вам придется сравнивать? 100 строк? 50 000 строк? – mellamokb
Я могу получить до 1000 имен обратно из внешнего API (я хочу совместить друзей facebook с пользователями из моей собственной базы данных), моя собственная база данных может получить до 10000 строк (в настоящее время она находится в фазе тестирования, но я хочу оптимизировать все мои запросы sql на ранней стадии) – Werring