Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta que dependa del resultado de otra

Estas en el tema de Consulta que dependa del resultado de otra en el foro de Bases de Datos General en Foros del Web. Explico de manera simple lo que quiero hacer: tabla 1 idretiro nombre 1 aaaa 2 aaaa 3 aaaa tabla 2 idretiro estado 1 1 1 ...
  #1 (permalink)  
Antiguo 02/03/2017, 09:46
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 16 años
Puntos: 1
Consulta que dependa del resultado de otra

Explico de manera simple lo que quiero hacer:
tabla 1
idretiro nombre
1 aaaa
2 aaaa
3 aaaa

tabla 2
idretiro estado
1 1
1 2
1 3
2 1
2 2

Quiero seleccionar todos los registros de la tabla 1, siempre y cuando en la tabla 2 el idretiro no tenga los 3 estados (1,2,3). Por ej el idretiro 1 tiene los 3, pero el idretiro 2 solo tiene 2. En este ej quiero devolver solo el idretiro 2 porque no tiene los 3 estados. Si tiene los 3 no quiero que me devuelva ese registro.
Como se hace esto? Porque una consulta depende del resultado de la cuenta de otra.
  #2 (permalink)  
Antiguo 02/03/2017, 10:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Consulta que dependa del resultado de otra

Obtén el total de repeticiones haciendo una consulta en la intersección de ambas tablas y agrupándolas por el id que se repite.

Código MySQL:
Ver original
  1. SELECT b.idretiro AS ID, COUNT(b.idretiro) AS TOTAL FROM tabla1 AS a LEFT JOIN tabla2 AS b ON b.idretiro = a.idretiro GROUP BY b.idretiro
Código Resultado:
Ver original
  1. ID TOTAL
  2.  1   3
  3.  2   2

Sabiendo esto, ya puedes tomar a los registros con un total de repeticiones menor a tres. Puedes hacer la selección ya sea con PHP o en la misma consulta SQL.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 06/03/2017 a las 10:51 Razón: Acotación

Etiquetas: php, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:22.