[ Foro de SQL (y MySQL) ]

MySQL - Sacar registro posterior

17-Oct-2023 16:52
Invitado (Hercross)
4 Respuestas

Hola, buenos días..

Tengo una tabla tal que así:

ID | numero | evento
------------------------------------------------------
1345 8888888 DENY
1534 8888887 DENY
0678 11111111 ACCEPTED
0001 8888888 ACCEPTED
4567 2345678 DENY

La cosa es sacar todos los registros con el evento = DENY.

Obtendría esto:

ID | numero | evento
------------------------------------------------------
1345 8888888 DENY
1534 8888887 DENY
4567 2345678 DENY

Hasta ahí correcto. Pero hay un registro, en este caso, que no quiero sacar, y es el :
1345 8888888 DENY

Por que más adelante, tengo otra entrada con el mismo número (8888888) pero con el evento = ACEPTED, es decir, como podría sacar todos los registros que tengan el evento = DENY pero que no tenga un registro a posterior con el evento = ACEPTED? En este caso tendría que sacar solo:

ID | numero | evento
------------------------------------------------------
1534 8888887 DENY
4567 2345678 DENY

Sería posible?

Gracias


18-Oct-2023 21:16
Invitado (Pascal)

select * from [tabla] where evento = 'DENY' and numero <> 8888888


24-Oct-2023 12:26
Invitado (Hercross)

Muchas gracias.. pero eso no me vale, ahí saco los valores distintos de numero=888888 y evento =deny, lo que necesito es sacar los valores evento=deny y que tengo un evento=ACEPTED posterior, es decir, que se haya producido una entrada nueva con el mismo número, posterior, pero con el evento ACEPTED, No se si me explico..

Gracias


24-Oct-2023 18:07
Invitado (Juan)

Si usando consultas anidadas, es decir, necesitas filtrar la tabla contra si misma. Items que no estén dentro de un conjunto (los que tienen deny)
select * from  tabla
where id not in(Select id from tabla where evento =="DENY")

Todos lo de la tabla excepto aquellos cuyo id esté  en el conjunto de ids con evento DENY


14-Dec-2023 14:39
Invitado (Rodolfo)

La solución que yo obtuve despues de realizar varias pruebas en mi gestor de base de datos fue:
select * from [tabla] where evento = 'DENY' and numero <> 8888888
Espero les sirva, y el principal problema que tuve fue <a href = "https://www.grupocodesi.com/blog/instalar-mysql.html">instalar mysql</a>






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)