Соответствующие кортежи в sql - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь написать запрос, который соответствует кортежу столбцов из списка.Допустим, у меня есть список имен и фамилий, и я хочу сопоставить комбинацию имени и фамилии того же индекса из базы данных.

first_names = ["Joe", "Freddy", "Michael"]
last_names = ["Jason", "Kruger", "Myers"]

В этом случае я хочу, чтобы запрос возвратил некоторыедругой столбец для записи, которая имеет имя «Джо Джейсон», «Фредди Крюгер» или «Майкл Майерс».

Для меня очевидным способом является группировка по имени и фамилии и использование группового совпадения, а затем совпаденияпротив связанного поля.Но я хочу попытаться избежать этого.Есть ли в любом случае сопоставление по кортежам можно сделать в SQL?

1 Ответ

0 голосов
/ 10 октября 2018

Некоторые базы данных позволяют вам выражать эту логику как:

where (firstname, lastname) in ( ('Joe', 'Jason'), ('Freddy', 'Kruger'),  ('Michael, 'Myers') )

В целом, вы можете выразить это с помощью логической логики:

where (firstname = 'Joe' and lastname = 'Jason') or
      (firstname = 'Freddy' and lastname = 'Kruger') or
      (firstname = 'Michael' and lastname = 'Myers')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...