SQL - Por favor, ayúdenme, es urgente!!!

 
Vista:

Por favor, ayúdenme, es urgente!!!

Publicado por Jerónimo (4 intervenciones) el 09/05/2005 17:08:47
Hola!!!
Tengo un problemón y no sé para dónde disparar.
Les cuento:
En mi bd tengo las tablas Facturas, FacturasDetalle, Stock y Clientes.
En la tabla Facturas figuran campos como numFactura (n° de la factura), fecFactura (fecha), monFactura (monto), cliFactura (cliente), etc.
En la tabla FacturasDetalle: facDetalle (n° de factura), artDetalle (n° de artículo), canDetalle (cantidad), preDetalle (precio), subDetalle (que es cantidad por precio), etc. Se guarda un registro por cada producto que figura en la factura. Es decir, si en la factura hay diez artículos se van a guardar diez registros y en cada uno va a figurar el número de factura, el número del artículo, la cantidad, etc.
En la tabla Stock: artStock (n° de artículo), serStock (n° de serie), etc.
En la tabla Clientes: numCliente (número), nomNombre (nombre), etc.
El problema que tengo es el siguiente: necesito hacer un listado de cuánto compró un cliente de un producto determinado, en un período determinado, detallando por día.
Yo tengo lo siguiente: sqlStr = "Select FacturasDetalle.*, Facturas.*, Clientes.nomCliente from FacturasDetalle, Facturas, Clientes where artDetalle = " & artículo & " and facDetalle = numFactura and fecFactura between #" & DTPicker1.Value & "# and #" & DTPicker2.Value & "# and cliFactura = “ & cliente & “ and cliFactura = numCliente order by fecFactura"
Esto funciona bien. Me da una fila por cada compra que haya hecho el cliente, de ese artículo determinado. Pero el problema es que si ese cliente compró más de una vez en un día me devuelve TAMBIÉN una fila POR CADA COMPRA. Es decir, si compró tres veces en un día, tengo tres filas correspondientes a ese día, cuando en realidad me interesa tener solo una y que me sume la cantidad de cada compra de ese día.
Ya me hice un rollo, así que no sé si fui claro. Pero espero que me puedan ayudar porque lo necesito urgentemente.
Muchas gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Por favor, ayúdenme, es urgente!!!

Publicado por Isaías Islas (5072 intervenciones) el 09/05/2005 17:36:23
Amigo, utiliza el GROUP BY con el campo CLIENTE y la FECHA, claro que deberas hacer el correspondiente SUM de la operacion de CANTIDAD DE PRODUCTO por el PRECIO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Por favor, ayúdenme, es urgente!!!

Publicado por Jerónimo (4 intervenciones) el 09/05/2005 19:49:57
Muchas gracias!
¿Podrías ponerme un ejemplo, por favor? Ya he probado de distintas maneras que se me ocurrieron y no funcionó. Evidentemente, no soy muy bueno en esto y me estoy mareando.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Por favor, ayúdenme, es urgente!!!

Publicado por Isaías Islas (5072 intervenciones) el 09/05/2005 20:12:07
Para empezar, no es recomendable hacer un SELECT * FROM, debes indicar que columnas obtener, ejemplo

SELECT CLIENTE, FECHA, SUM(CANTIDAD * PRECIO)
FROM DETALLEFACTURA
GROUP BY CLIENTE, FECHA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Por favor, ayúdenme, es urgente!!!

Publicado por Jerónimo (4 intervenciones) el 09/05/2005 20:41:02
Ok. Lo pruebo y luego te cuento.
Muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar