Necesito filtrar los valores condicionales de una tabla en MySql.
Me he encontrado con este tipo de escenario en el que necesito extraer los IDs basándome en esta lógica.
En este ejemplo, deseo extraer la siguiente combinación en el resultado:
- INCLUIR el resultado si:
- la fuente tiene una o más combinaciones de – Raja, Ravi o Sam.
Y
- EXCLUIR el ID si:
- la Fuente tiene una o más combinaciones de – Jane, Jake o Jude.
ID | Fuente |
---|---|
1 | Raja |
1 | Ravi |
2 | Sam |
2 | Raja |
3 | Jake |
3 | Raja |
3 | Sam |
3 | Jane |
4 | Sam |
4 | Jake |
4 | Jude |
La salida esperada es:
ID |
---|
1 |
2 |
Esta tabla de origen siempre tendrá más de 1 valor de origen para cada ID.
Gracias de antemano.
davy.ai
Para extraer la combinación deseada, puedes utilizar la siguiente consulta SQL:
Esta consulta selecciona los IDs de la tabla donde la fuente es Raja, Ravi o Sam, los agrupa por sus IDs y aplica la cláusula HAVING para seleccionar solo aquellos IDs donde al menos una de las fuentes es Raja, Ravi o Sam, y ninguna de las fuentes es Jane, Jake o Jude.
¡Espero que esto ayude!