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

Union de 2 tablas

Estas en el tema de Union de 2 tablas en el foro de Mysql en Foros del Web. Hola, Tengo una tabla de omnibus y otra de viajes TABLA OMNIBUS idomnibus codunidad TABLA VIAJES idviaje idomnibus y lo que quiero es contar cuantos ...
  #1 (permalink)  
Antiguo 06/04/2012, 18:16
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 meses
Puntos: 10
Union de 2 tablas

Hola,

Tengo una tabla de omnibus y otra de viajes

TABLA OMNIBUS
idomnibus
codunidad


TABLA VIAJES
idviaje
idomnibus


y lo que quiero es contar cuantos viajes hizo cada omnibus, sé que es bien fácil pero me estoy perdiendo algún detalle.

Código MySQL:
Ver original
  1. select  count(*), b.codomnibus from viajes v
  2. right join omnibus b on b.idomnibus = v.idomnibus
  3. group by b.idomnibus

Con ese select a los omnibus que NO tuvieron viajes, el count me devuelve 1 en esos campos. Pero si cambio right por left los omnibus que no tuvieron viajes, no aparecen.
  #2 (permalink)  
Antiguo 07/04/2012, 10:49
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Union de 2 tablas

Te aparece 1 por que pusiste count(*) y el * cuenta tambien los registros que tienen null, para resolver esto por count(nombre_de_un_campo) y con esto cuenta los registro que no son null

Prueba con esto

Código MySQL:
Ver original
  1. select omnibus.idomnibus, count(viajes.idviaje) from omnibus natural left join viajes group by omnibus.idomnibus
  #3 (permalink)  
Antiguo 07/04/2012, 11:21
 
Fecha de Ingreso: marzo-2012
Mensajes: 53
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Union de 2 tablas

Hola, prueba esto a ver si te funciona:

Código:
SELECT o.idomnibus,COUNT(v.idomnibus) AS 'cantidad de viajes'
FROM omnibus AS o
LEFT JOIN viajes AS v
ON v.idomnibus=o.idomnibus
GROUP BY o.idomnibus;
Saludos.

Última edición por falegria230349; 07/04/2012 a las 11:44
  #4 (permalink)  
Antiguo 07/04/2012, 13:21
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Union de 2 tablas

Gracias a los 2, ambas sentencias me funcionaron de maravilla.

Siempre me habían enseñado el count con *, entonces no creí que la solucion estuviera por alli.

Saludos

Etiquetas: join
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 09:50.