[ Foro de SQL (y MySQL) ]

MySQL - Sacar registro posterior

17-Oct-2023 16:52
Invitado (Hercross)
3 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






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...