Tengo una tabla que contiene los campos group_id y group_type y quiero consultar la tabla para todos los registros que tienen cualquier tupla (Identificación del grupo, grupo de tipo) de una lista de tuplas. Por ejemplo, quiero ser capaz de hacer algo como:El uso de tuplas en SQL "IN" cláusula
SELECT *
FROM mytable
WHERE (group_id, group_type) IN (("1234-567", 2), ("4321-765", 3), ("1111-222", 5))
Una pregunta muy similar ya se pidió en: using tuples in sql in clause, pero la solución propuesta no presupone la lista de tuplas es que ser recuperado de otra tabla. Esto no funciona en mi caso, los valores de la tupla están codificados.
Una solución es utilizar concatenación de cadenas:
SELECT *
FROM mytable
WHERE group_id + STR(group_type, 1) IN ("1234-5672", "4321-7653", "1111-2225")
Pero el problema es que la mesa es bastante grande y hacer una concatenación de cadenas y la conversión para cada registro sería muy caro.
¿Alguna sugerencia?
¡Buen punto! El único problema es en caso de que tengas una larga lista de tuplas. – Rafid