Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   sería mucho pedir??? (union de tablas) (https://www.clubdelphi.com/foros/showthread.php?t=21011)

ELINK 03-05-2005 20:57:25

sería mucho pedir??? (union de tablas)
 
Hola a todos y gracias por su futura ayuda (espero ;) ):
Tengo esta sentencia (el cual funcional bien):

select idv, sum(cant) from regventas where fecha > #01/01/2005# and fecha < #31/12/2005# group by idv

Luego al agregarle esto, simplemente falla:

select idpersonal.nombres, regventas.idv from regventas, idpersonal where regventas.ids = idpersonal.ids and regventas.fecha > #01/01/2005# and regventas.fecha < #31/12/2005# group by regventas.idv

Espero que me puedan ayudar a resolver este Problema :) :) :)

roman 03-05-2005 22:19:05

Cita:

Empezado por ELINK
Luego al agregarle esto, simplemente falla

Por agregar ¿te refieres a poner los dos select en la misma consulta? En tal caso supongo que puedes usar union:


select idv, sum(cant) from regventas where fecha > #01/01/2005# and fecha < #31/12/2005# group by idv

union

select idpersonal.nombres, regventas.idv from regventas, idpersonal where regventas.ids = idpersonal.ids and regventas.fecha > #01/01/2005# and regventas.fecha < #31/12/2005# group by regventas.idv

// Saludos

Crandel 04-05-2005 01:46:18

Hola ELINK,

si no entiendo mal lo que intentas es lograr obtener los nombres junto con la cantidad de ventas

Cita:

Código SQL [-]
 
select idv, sum(cant) from regventas
where fecha > #01/01/2005# and fecha < #31/12/2005# group by idv

Luego al agregarle esto, simplemente falla:
Código SQL [-]
 
select idpersonal.nombres, regventas.idv from regventas, idpersonal
where regventas.ids = idpersonal.ids and regventas.fecha > #01/01/2005# and regventas.fecha < #31/12/2005#
group by regventas.idv

podes resoverlo asi:

Código SQL [-]
SELECT nombres, sum(cant)
  FROM regventas, idpersonal
  WHERE regventas.ids = idpersonal.ids
  AND fecha BETWEEN '01/01/2005' AND '31/12/2005'
  GROUP BY regventas.idv;

Espero que te ayude.

Suerte

ELINK 04-05-2005 18:46:05

Gracias Crandel
 
Gracias por entender mi problema___
basicamente este es el codigo corregido y funcional de lo que fue mi problema:

select nombres, sum(cant)
from regventas, idpersonal
where idv = ids and regventas.fecha > '01/01/2005' and regventas.fecha < '31/12/2005'
group by nombres

*uno de mis errones fue que existia un nombre igual entre las dos tablas (fecha)
Pero aun tengo un pequeño problema no se porque aparece y que al agregar idv en el select provoca un error :confused: :confused:

select idv , nombres, sum(cant)
from regventas, idpersonal
where idv = ids and regventas.fecha > '01/01/2005' and regventas.fecha < '31/12/2005'
group by nombres

jwmoreira 04-05-2005 21:34:39

Hola ELINK,

Te falta agregar el campo idv al GROUP BY.
Código SQL [-]
select idv , nombres, sum(cant) 
from regventas, idpersonal 
where idv = ids and regventas.fecha > '01/01/2005' and regventas.fecha < '31/12/2005' 
group by idv,nombres

Saludos,
Jorge.

ELINK 05-05-2005 01:37:55

Gracias Crandel
 
Muchas Gracias Por tu Apoyo Crandel
"A Veces Los Pequeños Detalles Hacen La Diferencia"
:) :) :) ;) :) :) :)


La franja horaria es GMT +2. Ahora son las 18:17:11.

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