Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-05-2012
jfrancho jfrancho is offline
Miembro
 
Registrado: feb 2008
Posts: 50
Poder: 17
jfrancho Va por buen camino
consulta de artículos venididos en un día

Buen día, lo que necesito hacer es una consulta la cual me permita obtener los artículos vendidos en un día.lo que hago es lo siguiente:selecciono un rango de fecha, desde/hasta y me devuelve todos los registro vendidos desde que se implementó el sistema, y no es lo que necesito; estoy trabajando en delphi 7 y access ya que es una aplicación monousuario.
Realizo la consulta sobre las tabla facturas que contiene los siguientes campos, nrofactura, fecha, total, tipo_fac y la tabla detalles, que contiene los siguientes campos, id_det, descripcion, subtotal, cantidad, nrofactura.
el sql es este:
Código SQL [-]
SELECT SUM(cantidad),  descripcion
FROM Tdetalles
where exists (SELECT nrofactura, fecha
FROM Tfacturas where fecha between  :vfec1 and :vfec2)
group by descripcion.
desde ya muchas gracias.Saludos

Última edición por Casimiro Notevi fecha: 28-05-2012 a las 15:09:40.
Responder Con Cita
  #2  
Antiguo 28-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código SQL [-]
select det.descripcion, det.cantidad
from tabladetalles det
inner join tablafacturas fac on fac.nrofactura=det.nrofactura
where fac.fecha between :fec1 and fec2
¿Para qué sirve id_det?


Por cierto, recuerda poner los tags al código fuente, ejemplo:

Responder Con Cita
  #3  
Antiguo 28-05-2012
jfrancho jfrancho is offline
Miembro
 
Registrado: feb 2008
Posts: 50
Poder: 17
jfrancho Va por buen camino
Muchas gracias por la respuesta, lo voy a provar.
El id_det, es un campo autoincremental.Saludos
Responder Con Cita
  #4  
Antiguo 28-05-2012
jfrancho jfrancho is offline
Miembro
 
Registrado: feb 2008
Posts: 50
Poder: 17
jfrancho Va por buen camino
Me funcionó a medias el código, porque necesito saber que cantidad de determinado articulo vendí en un día x, y el código anterior me da los articulos pero se repiten en la consulta, yo los quiero agrupar.
intenté hacer lo siguiente

Código SQL [-]
select det.descripcion, sum(det.cantidad)
from tdetalles det
inner join tfacturas fac on fac.nrofactura=det.nrofactura
where fac.fecha between :vfec1 and :vfec2
group by det.descripcion

pero me da este error, EdatabaseError ADdetalle field cantidad no found. ADdetalle es el nombre del query.
Saludos.-

Última edición por Casimiro Notevi fecha: 28-05-2012 a las 21:53:23.
Responder Con Cita
  #5  
Antiguo 28-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues así, a simple vista, parece correcto.
No sé si access tiene alguna sintaxis particular.
Responder Con Cita
  #6  
Antiguo 29-05-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola jfrancho,

Lo que te está diciendo el error "pero me da este error, EdatabaseError ADdetalle field cantidad no found. ADdetalle es el nombre del query.", es que el campo cantidad no existe en la base de datos tdetalles, haber si el campo es de tfacturas

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #7  
Antiguo 29-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sí, el error es claramente que no existe ese campo, pero según lo indicado por el usuario es así, por lo que no vale la pena pensar nada más ni perder el tiempo hasta que lo aclare él mismo
Responder Con Cita
  #8  
Antiguo 29-05-2012
jfrancho jfrancho is offline
Miembro
 
Registrado: feb 2008
Posts: 50
Poder: 17
jfrancho Va por buen camino
Thumbs down

Buen día: el campo cantidad me funciona perfectamente si hago la consulta de esta manera

Código SQL [-]
select det.descripcion, det.cantidad
from tdetalles det
inner join tfacturas fac on fac.nrofactura=det.nrofactura
where fac.fecha between :vfec1 and :vfec2

pero si agrego esto, me da error, la verdad me mató:

Código SQL [-]
select det.descripcion, sum(det.cantidad)
from tdetalles det
inner join tfacturas fac on fac.nrofactura=det.nrofactura
where fac.fecha between :vfec1 and :vfec2
group by det.descripcion

Saludos y Gracias por su respuesta.
Responder Con Cita
  #9  
Antiguo 29-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues echa un vistazo a la documentación de access, a ver si tiene alguna sintaxis especial para las agrupaciones.
Responder Con Cita
  #10  
Antiguo 31-05-2012
jfrancho jfrancho is offline
Miembro
 
Registrado: feb 2008
Posts: 50
Poder: 17
jfrancho Va por buen camino
Thumbs up

Bueno después de tanto pelear con la consulta sql(debe ser que se apiadó de mí) logré mi cometido
quedó así:

Código SQL [-]
select b.descripcion, sum(b.cantidad)
from tfacturas a inner join tdetalles b 
on a.nrofactura=b.nrofactura
where a.fecha between :vfec1 and :vfec2
group by b.descripcion

mi pregunta es: será que me daba error porque primero nombraba la tabla detalles y no la maestro????
me da la información de los articulos vendidos en un periodo de tiempo.Saludos y gracias por su respuestas
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
tabla articulos josi Varios 28 02-04-2008 10:30:55
cantidad de articulos juanchopit Varios 3 20-09-2005 05:57:54
Crear consulta con SQL sobre varios proveedores y artículos Aprendiendo SQL 3 02-03-2005 03:19:36
Artículos en cd nugame Conexión con bases de datos 0 01-12-2004 13:03:45
Los artículos que mas aparecen magm2000 SQL 4 23-02-2004 16:40:55


La franja horaria es GMT +2. Ahora son las 20:12:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi