SQL - busqueda de una lista de valores en un registro

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 26 puestos en SQL (en relación al último mes)
Gráfica de SQL

busqueda de una lista de valores en un registro

Publicado por luis (2 intervenciones) el 06/08/2020 06:56:09
Buenos días:

Recién estoy empezando con SQL. No consigo dar con la solución o simplemente estoy tan ciego que no lo veo y tengo la solución delante.

El problema que me he planteado y que me lleva de cabeza es el siguiente.

Tengo una lista de valores de tipo entero (e1,e2,e3,e4) por ejemplo. Y una tabla donde almaceno registros que están formados por un campo clave, y luego 4 valores distintos, ejemplo:

102309b 2 5 7 9
109281g 1 2 3 4
943099y 4 8 7 1

Me gustaría saber como comprobar el numero de elementos coincidentes (e1,e2,e3,e4) que tengo en cada uno de los registros.

La verdad es que me tiene loco esto. Alguien puede ayudarme por favor?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.154
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

busqueda de una lista de valores en un registro

Publicado por Isaias (1568 intervenciones) el 06/08/2020 17:20:31
¿Que motor de base de datos manejas?, en cuanto a los datos que publicas, ¿Cual seria la solución que esperas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

busqueda de una lista de valores en un registro

Publicado por luis (2 intervenciones) el 07/08/2020 20:45:10
Bueno estoy estudiando usando mysql. Lo que intento es mirar cada valor de la lista (e1e2,..) y comprobar si existe en cualquiera de los campos del registro, para luego contabilizar las coincidencias.

Te agradezco mucho tu interés. De verdad que no le veo la solucíon salvo con codigo e igual es una tontería.

Muchas gracias de antenamno.

ejemplo: lista de valores (e1,e2,e3,..)

id campo1 campo2 campo3 campo4
registro =>e1 x x x x -> no existe
registro =>e2 x v x x -> existe en el registro
reigstro =>e3 v x x x -> existe en el registro

En columnase se hacerlo, con la sentencia IN, pero la existencia de ese valor en calquiera de sus campos, se puede?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 144
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

busqueda de una lista de valores en un registro

Publicado por Francisco (45 intervenciones) el 10/08/2020 17:02:12
Hola

Ya eso indica un problema de diseño en tu tabla, sin embargo puedes salvar la situacion usando un CTE con SELECT .. UNION

1
2
3
4
5
6
7
8
9
10
WITH regs AS (
    SELECT id, e1 AS e FROM xxx
    UNION ALL
    SELECT id, e2 AS e FROM xxx
    UNION ALL
    SELECT id, e3 AS e FROM xxx
    UNION ALL
    SELECT id, e4 AS e FROM xxx
)
SELECT * FROM regs WHERE e IN (e1,e2,e3);

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar