Если нам нужно запросить таблицу на основе некоторого набора значений для данного столбца, мы можем просто использовать предложение IN.
Но если запрос должен выполняться на основе нескольких столбцов, мы не могли бы использовать предложение IN (grepped в потоках SO.)
Из других потоков SO мы можем обойти эту проблему, используя предложения join или exist и т.д. Но все они работают, если в базу данных находятся как основная таблица, так и данные поиска.
E.g
User table:
firstName, lastName, City
Учитывая список (firstname, lastName) кортежей, мне нужно получить города.
Я могу думать о следующих решениях.
1
Создайте запрос выбора, например,
SELECT city from user where (firstName=x and lastName=y) or (firstName=a and lastName=b) or .....
2
Загрузите все значения firstName, lastName в промежуточную таблицу и выполните соединение между таблицей "user" и новой промежуточной таблицей.
Есть ли какие-либо варианты решения этой проблемы и что является предпочтительным для решения этой проблемы в целом?