У меня есть таблица, содержащая поля group_id и group_type, и я хочу запросить в таблице все записи, имеющие любой кортеж ( идентификатор группы , тип группы ) из спискакортежи.Например, я хочу иметь возможность сделать что-то вроде:
SELECT *
FROM mytable
WHERE (group_id, group_type) IN (("1234-567", 2), ("4321-765", 3), ("1111-222", 5))
Очень похожий вопрос уже задавался по адресу: с использованием кортежей в sql в пункте , но предлагаемое там решение предполагаетсписок кортежей должен быть выбран из другой таблицы.В моем случае это не работает, если значения кортежей жестко заданы.
Одним из решений является использование конкатенации строк:
SELECT *
FROM mytable
WHERE group_id + STR(group_type, 1) IN ("1234-5672", "4321-7653", "1111-2225")
Но проблема в том, что таблица довольно большая иВыполнение конкатенации и преобразования строк для каждой записи будет очень дорогим.
Любое предложение?