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

Select SQL de 1 tabla y contador de registros de otra

Estas en el tema de Select SQL de 1 tabla y contador de registros de otra en el foro de Bases de Datos General en Foros del Web. El problema es que tengo 2 tablas. En una hay artículos y en otra hay pedidos realizados de esos articulos. Las dos tablas digamos que ...
  #1 (permalink)  
Antiguo 24/06/2010, 13:37
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Select SQL de 1 tabla y contador de registros de otra

El problema es que tengo 2 tablas. En una hay artículos y en otra hay pedidos realizados de esos articulos. Las dos tablas digamos que son algo así:

articulos:

id, nombre



pedidos:

id_pedido, id_articulo, comprador




El campo id_articulo relaciona el pedido con el artículo comprado. Digamos que id_articulo es igual a alguna de las id de la tabla articulos.


Pues bien, necesito construir una sentencia sql que me de como resultado una lista de articulos tal que así:

id, nombre, numero_total_de_pedidos_realizados_a_este_articulo

Serian todos los campos de la tabla articulos y además la cantidad de pedidos relacionados con cada uno de los artículos.

Gracias de antemano.
  #2 (permalink)  
Antiguo 24/06/2010, 16:45
Avatar de vrenzo  
Fecha de Ingreso: febrero-2007
Mensajes: 289
Antigüedad: 17 años, 2 meses
Puntos: 15
Sonrisa Respuesta: Select SQL de 1 tabla y contador de registros de otra

Que tal asi...

Código SQL:
Ver original
  1. SELECT a.id,a.nombre,COUNT(*) FROM articulos a INNER JOIN
  2. pedidos p ON p.id_articulo=a.id
  3. GROUP BY a.id,a.nombre
__________________
***
Saludos.
  #3 (permalink)  
Antiguo 24/06/2010, 19:27
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años
Puntos: 0
Respuesta: Select SQL de 1 tabla y contador de registros de otra

Cita:
Iniciado por vrenzo Ver Mensaje
Que tal asi...

Código SQL:
Ver original
  1. SELECT a.id,a.nombre,COUNT(*) FROM articulos a INNER JOIN
  2. pedidos p ON p.id_articulo=a.id
  3. GROUP BY a.id,a.nombre
Muchisimas gracias. De primeras tu sentencia no me solucionó lo que buscaba, pero casi.

Al final he usado esta ya que tenia articulos no pedidos y necesitaba recuperar tambien estos por lo que tuve que cambiar a LEFT JOIN
Código SQL:
Ver original
  1. SELECT A . * , COUNT( V.* ) AS cant_pedidos FROM articulos AS A
  2. LEFT JOIN pedidos AS V ON  V.id_articulo = A.id GROUP BY A.id


¡MUCHAS GRACIAS! ¡Problema solucionado!

Última edición por ruedadecolor; 24/06/2010 a las 19:34

Etiquetas: contador, registros, select, sql, tablas
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 20:19.