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 08-04-2008
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Unhappy Una ayudadita: consulta dificil !!!

Hola, colegas del foro.

Pues nuevamente aquí estoy para pedirles su valiosa ayuda.
Estoy haciendo un programa para adiministrar un negocio (ya saben, ventas, clientes, proveedores, etc).
Pero hay una consulta que no me doy idea de como sacarla, y es obtener las el total de las ventas para sacar un corte de caja.
Para tratar de ser lo mas especifico con mi problema y sea mas facil que me ayuden, subí una imagen con todos los detalles.
Les agradecería enormemente que le hechen un vistazo y me dieran alguna orientación.

http://www.jirehonline.net/duda_sql.gif

Gracias por el valioso tiempo que dedicais a leer mis mesajes y por vuestra ayuda.
Responder Con Cita
  #2  
Antiguo 08-04-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
En la tabla ventas necesitas un campo llamado importe.

En la tabla de detalles de ventas, puedes hacer un trigger after insert, after update y before delete que sume todos los detalles y actualice la tabla Ventas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 09-04-2008
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Le sigo buscando

Ok, gracias por el consejo Lepe, intentaré meterle el trigger, haber si no se me complica mas la situación.
De cualquier forma si logro resolverlo, lo publicaré por si alguien se topa con un problema similar
Responder Con Cita
  #4  
Antiguo 09-04-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Si lo que quieres es mostrar la columna del importe total de cada venta en el grid de ventas, ¿por qué no haces una subconsulta que haga la suma?

Código SQL [-]
select
  id_venta, fecha, ..., 
  (
    select sum(cantidad*p_venta) from pedidos
    where pedidos.id_venta = ventas.id_venta
  ) as importe
from ventas
join clientes
join vendedores

Bye
Responder Con Cita
  #5  
Antiguo 16-04-2008
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Lightbulb Eureka!!!

Gracias Keyboy, me diste la clave, estaba intentando hacer un select anidado pero no lograba que me diera bien el resultado y no quería modificar el diseño de la base de datos.
Aquí está como queda la consulta finalmente:

select
id_venta, fecha,cliente, clientes.nombre, id_vendedor,
vendedores.nombre,
(
select sum(cantidad*p_venta) from pedidos
where pedidos.id_venta = ventas.id_venta
) as importe
from ventas
join clientes on cliente=id_cliente
join vendedores on vendedor=id_vendedor
order by id_venta;
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
Consulta dificil en mysql y sql Arturo SQL 1 08-11-2006 13:39:41
Consulta Dificil muli SQL 5 27-10-2006 14:20:43
Una consulta dificil noshy SQL 3 31-05-2006 20:50:58
Una consulta dificil noshy SQL 3 22-05-2006 18:22:06
Consulta Dificil Abel Garcia Firebird e Interbase 5 18-11-2005 19:40:50


La franja horaria es GMT +2. Ahora son las 13:08:55.


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