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

Relacionar dos querys

Estas en el tema de Relacionar dos querys en el foro de Bases de Datos General en Foros del Web. Saludos.. En otros lenguajes de programacion, por ejemplo FoxPro, si tengo 2 consultas las podia relacionar con un "Set relation to [campo] into [consulta2]", con ...
  #1 (permalink)  
Antiguo 29/12/2010, 18:13
 
Fecha de Ingreso: enero-2008
Ubicación: Distrito Federal, México
Mensajes: 17
Antigüedad: 16 años, 3 meses
Puntos: 0
Relacionar dos querys

Saludos..

En otros lenguajes de programacion, por ejemplo FoxPro, si tengo 2 consultas las podia relacionar con un "Set relation to [campo] into [consulta2]", con esto si recorriamos la consulta1 tambien se recorria automaticamente la consulta2, como se hace esto en PHP?

en concreto lo que necesito es lo siguiente:

1-Hacer un Query de la tabla cat_status, esto me va a regresar una consulta con los diferentes estatus, en mi caso 5 registros.

Select id, descripcion from cat_status

2-Hacer otro Query de la tabla servicios, contando los registros por status, esto me va a traer un registro de cada status y el total que hay de cada status.

Select id_status,count(id_status) as cuantos from servicios group by id_status

3-Quiero recorrer la primer consulta y poner el total que hubo en la segunda.

id descripcion total
1 status uno 10
2 status dos 7
3 status tres 6

Como le hago?

----

Intente hacerlo asi:

Select cat_status.id, cat_status.descripcion,servicios.id_status,count(s ervicios.id_status) as totstatus From cat_status, servicios Where servicios.id_status = cat_status.id Group by id_status

Pero con la consulta anterior tengo el problema que si en servicios no hay algun tipo de status no trae la descripcion de ese estatus de cat_status, es decir; si no hay servicios con status=2 solo trae 2 registros, uno con status=1 y otro con status=3

----

Ayuda por favor... me gustaría mucho saber como hacerlo en el escenario uno, osea relacionando las consultas.... pero si no se puede, entonces con el Select.

Gracias
  #2 (permalink)  
Antiguo 29/12/2010, 18:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Relacionar dos querys

¿que como se hace en PHP?

se supone que PHP no es un lenguaje de consultas... entonces tu problema es de SQL, no tiene que ver con PHP...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/12/2010, 23:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde PHP a Bases de Datos
  #4 (permalink)  
Antiguo 29/12/2010, 23:10
 
Fecha de Ingreso: enero-2008
Ubicación: Distrito Federal, México
Mensajes: 17
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Relacionar dos querys

Pues yo creo que si... pensando en que si ya tengo las dos consultas , con codigo PHP pudiera hacer el barrido relacionando los dos arreglos...

Tambien estoy planteando la duda en SQL y tal vez la solucion este haciendo un solo query...
  #5 (permalink)  
Antiguo 29/12/2010, 23:11
 
Fecha de Ingreso: enero-2008
Ubicación: Distrito Federal, México
Mensajes: 17
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Relacionar dos querys

Cita:
Iniciado por GatorV Ver Mensaje
Tema movido desde [URL=http://www.forosdelweb.com/f18]PHP[/URL] a [URL=http://www.forosdelweb.com/f21]Bases de Datos[/URL]
Oye GatorV... no me muevas... la duda si es para PHP... quiero saber si esto se puede hacer con codigo.
  #6 (permalink)  
Antiguo 30/12/2010, 06:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Relacionar dos querys

Te lo movió porque tu problema se puede resolver con una sola consulta en SQL, por lo que hacerlo en PHP es como mínimo una pérdida de tiempo.
Posiblemente algo así:
Código MySQL:
Ver original
  1.     CS.id,
  2.     CS.descripcion
  3.     COUNT(*) total
  4.     cat_status CS LEFT JOIN  
  5.     servicios S ON CS.id = S.id_status
  6.     CS.id;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 30/12/2010 a las 06:40
  #7 (permalink)  
Antiguo 30/12/2010, 10:15
 
Fecha de Ingreso: enero-2008
Ubicación: Distrito Federal, México
Mensajes: 17
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Relacionar dos querys

Gracias por la respuesta... ya lo probe y funciono bien, no entiendo muy bien como funciona el LEFT JOIN, voy a checar el manual.

Saludos

Etiquetas: dos, querys, relacionar
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:36.