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
select * from [tabla] where evento = 'DENY' and numero <> 8888888
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
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
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.)