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

Contar y distinguir productos

Estas en el tema de Contar y distinguir productos en el foro de SQL Server en Foros del Web. Hola amigos, Tengo una duda que no acabo de resolver, quiero realizar una consulta SQL que en una sola linea sea capaz de contarme las ...
  #1 (permalink)  
Antiguo 03/01/2006, 09:37
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Pregunta Contar y distinguir productos

Hola amigos,

Tengo una duda que no acabo de resolver, quiero realizar una consulta SQL que en una sola linea sea capaz de contarme las piezas de un albarán distinguiendo las del mismo tipo, me explico:

Tengo la siguiente estructura,

Tabla Albaranes:
IdAlbaran --> Autonumérico
NumAlbaran --> Texto (Único)
Fecha --> Date
IdCliente --> Numeral (Int)


Tabla DetalleAlbaran:
IdDetalle --> Autonumérico
IdAlbaran --> Numeral
IdPieza --> Numeral
IdLote --> Texto
Calidad --> Texto
Raza --> Texto
Producto --> Texto

Pues bien, yo lo que quiero es sacar la cuenta de cada línea del detalle de albarán, pero sin tener que mostrar todas las piezas, que me diga por ejemplo:

Carnes 15 Jamón Bellota
Legumbres 20 Lechuga Sana


Espero me que me entiendan lo que comento, la consulta que tengo generada es la siguiente pero no me funciona:

Código:
Select Count(DISTINCT p.IdProducto) As Total,p.IdRaza,p.IdCalidad,p.IdLote From Albaranes a Inner Join DetalleAlbaran p On (a.IdAlbaran=p.IdAlbaran) Where a.NAlbaran='a1/00225487' Group By p.IdProducto
¿Ven algo mal?

Muchas gracias!
  #2 (permalink)  
Antiguo 03/01/2006, 13:04
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Prueba con
Código:
Select
	Count(*) As Total,
	p.IdRaza,
	p.IdCalidad,
	p.IdLote
From Albaranes a 
	Inner Join DetalleAlbaran p 
		On (a.IdAlbaran=p.IdAlbaran) 
Where a.NAlbaran='a1/00225487' 
Group By 
	p.IdRaza,
	p.IdCalidad,
	p.IdLote
Ten en cuenta que se separará al encontrar un campo diferente en cada campo incluído en el group by. De manera que si por ejemplo IdLote es un número que cambia entre registros del mismo grupo que pretendes ver no te funcionará como esperas
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 04/01/2006, 10:46
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Muchas gracias, ha funcionado a las mil maravillas!
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 16:56.