Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2010, 10:00
Avatar de educlon
educlon
 
Fecha de Ingreso: octubre-2003
Ubicación: Buenos Aires
Mensajes: 35
Antigüedad: 21 años, 1 mes
Puntos: 0
SELECT con SUMA de totales desde otra tabla

Hola, necesito pedirles ayuda a ver si me pueden dar una mano con este asunto:

Tengo las siguientes tablas:

MARCAS
| id | marca |
| 1 | Garmin |
| 2 | Sony |
| 3 | Linksys |

PRODUCTOS
| id | idmarca | modelo | descripcion |
| 1 | 3 | RJ654 | Router |
| 2 | 1 | GJ655 | GPS |
| 3 | 2 | NJ656 | Notebook |

STOCK
| id | idprod | cantidad |
| 1 | 1 | 10 |
| 2 | 1 | 20 |
| 3 | 1 | 10 |
| 4 | 3 | 30 |
| 5 | 3 | 20 |

Necesito hacer una consulta que me traiga todos los datos de la tabla PRODUCTOS, la marca y la suma de las cantidades que estan en la tabla STOCK.

He logrado hacerlo pero solamente me trae los datos de los productos que tienen stock, y no aparecen los que no tienen, en este caso no aparece el id de producto 2

Código:
SELECT productos.*, marcas.marca, SUM(stock.cantidad) AS cant FROM stock, productos LEFT JOIN marcas ON productos.idmarca=marcas.id WHERE stock.idprod=productos.id GROUP BY stock.idprod
| id | idmarca | modelo | descripcion | marca | cant |
| 1 | 3 | RJ654 | Router | Linksys | 30 |
| 3 | 2 | NJ656 | Notebook | Sony | 60 |

Lo que necesito es esto:

| id | idmarca | modelo | descripcion | marca | cantidad |
| 1 | 3 | RJ654 | Router | Linksys | 30 |
| 2 | 1 | GJ655 | GPS | Garmin | 0 |
| 3 | 2 | NJ656 | Notebook | Sony | 60 |


Nesesito que aparezca la cantidad en cero si es que no hay stock todo en una sola consulta. Alguien tiene idea de cómo hacerlo?

Desde ya mil gracias por la ayuda que me puedan dar

Última edición por educlon; 13/01/2010 a las 10:07