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

Consulta complicada

Estas en el tema de Consulta complicada en el foro de Mysql en Foros del Web. Hola amigos, Tengo dos tablas A y B en A estan todos mis usuarios y en B estan todos aquellos usuarios que han almacenado algun ...
  #1 (permalink)  
Antiguo 10/03/2006, 10:02
 
Fecha de Ingreso: agosto-2001
Ubicación: Lima
Mensajes: 123
Antigüedad: 22 años, 7 meses
Puntos: 0
Consulta complicada

Hola amigos,
Tengo dos tablas A y B en A estan todos mis usuarios y en B estan todos aquellos usuarios que han almacenado algun documento en la cual tambien se encuentra el tamaño de ellos lo que quiero es hacer una consulta para obtener la suma de los tamaños de todos los ducumentos que posee un usuario, ya lo he hecho pero solo me sales los usuarios que se encuentran en la tabla B .. como podria hacer para que salgan todos los que se encuentran en A y si alguno de ellos no esta en B entonces que salga el valor de 0.
El query es el siguiente:

SELECT a.idUsuario,SUM(b.tamano)
FROM A as a, B as b
WHERE a.idUsuario=b.idUsuario
GROUP BY 1 ORDER BY 2 desc;

Ya he probado colocando el signo + tal como se hace en Oracle pero no funciona .... como podria hacer? muuuchas gracias :)
__________________
***************
Marivi
***************
  #2 (permalink)  
Antiguo 10/03/2006, 10:58
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
Lo que podrias hacer es usar el LEFT o RIGHT JOIN y para que note devuelva NULL en los usuarios que no esten en b puedes usar IFNULL()
Código PHP:
//
SELECT a.idUsuario,IFNULL(SUM(b.tamano),0)
FROM A as a LEFT JOIN B as b ON (a.idUsuario=b.idUsuario)
GROUP BY a.idUsuario desc
suerte, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #3 (permalink)  
Antiguo 10/03/2006, 11:31
 
Fecha de Ingreso: agosto-2001
Ubicación: Lima
Mensajes: 123
Antigüedad: 22 años, 7 meses
Puntos: 0
bien

Excelente!!! deadlykyo .... muuuuchisimas gracias
__________________
***************
Marivi
***************
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:52.