Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PostgreSQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=42)
-   -   como utilizar setoff record as con delphi !!! (https://www.clubdelphi.com/foros/showthread.php?t=83771)

pame 25-07-2013 23:58:57

como utilizar setoff record as con delphi !!!
 
buenas tardes necesito q me ayuden a resolver esta funcion, me dijeron q puedo utilizar setof records as, pero no se como emplearlo, yo ingreso por teclado las fechas, fecha inicio(fi) fecha fin (ff), las cuales utilizo para para hacer cálculos. Les envió mi función.

lo intente hacer en delphi utilizando el TADOquery y el error que me aparece es: error de sintaxis cerca de ff

Código SQL [-]
SELECT DISTINCT a.cod_producto,p.nombre,sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) )  as demanda,

   (150*sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) ))/(p.precio_unid * 0.13) as Q ,

   (sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff-fi) ))/(150*sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) ))/(p.precio_unid * 0.13) as N,

   (150*sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) ))/(p.precio_unid * 0.13)/(sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) )) as T,

   Stddev(a.cantidad)* sqrt(4) as Desv ,

   (Stddev(a.cantidad)* sqrt(4))*1.28 as IS,

   sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) )*4*((Stddev(a.cantidad)* sqrt(4))*1.28) as R

   FROM detalle_venta a, factura_vent fv,producto p

   WHERE(( p.cod_producto=a.cod_producto) and (a.cod_fact_vent=fv.cod_fact_vent) and  (fv.fecha between :fi and :ff)  )
       
  group by a.cod_producto,p.nombre,p.precio_unid
pero comente al principio quiero emplear esta este query dentro la funcion de tipo setof records as, como puedo hacerlo???
gracias

PD: en caso de generar esta funcion setof records as como puedo recuperar su valor en delphi

ecfisa 26-07-2013 04:18:06

Hola pame, bienvenido a Club Delphi :)

No entiendo a que te referis cuando mencionas "set of record" o "dentro la funcion de tipo setof records as".

Set es un conjunto de valores ordinales del mismo tipo, cuyo uso podes apreciar en estos enlaces:
¿ Podrías mostrar el código que realizaste con el TADOquery y que te provoca el error ?

Saludos :)

pame 27-07-2013 01:01:04

mostrar varios registros !!!
 
bueno este es el codigo que utilizo y el error dice: error de sintaxis cerca de ff
Código SQL [-]
SELECT DISTINCT a.cod_producto,p.nombre,sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) )  as demanda,

   (150*sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) ))/(p.precio_unid * 0.13) as Q ,

   (sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff-fi) ))/(150*sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) ))/(p.precio_unid * 0.13) as N,

   (150*sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) ))/(p.precio_unid * 0.13)/(sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) )) as T,

   Stddev(a.cantidad)* sqrt(4) as Desv ,

   (Stddev(a.cantidad)* sqrt(4))*1.28 as IS,

   sum(a.cantidad)/ (date_part('DAY', TIMESTAMP ff- fi) )*4*((Stddev(a.cantidad)* sqrt(4))*1.28) as R

   FROM detalle_venta a, factura_vent fv,producto p

   WHERE(( p.cod_producto=a.cod_producto) and (a.cod_fact_vent=fv.cod_fact_vent) and  (fv.fecha between :fi and :ff)  )
       
  group by a.cod_producto,p.nombre,p.precio_unid

AzidRain 28-07-2013 01:48:55

Lo que está mal es la construcción del query, el mensaje que dices es bastante explícito el error lo tienes aquí: "date_part('DAY', TIMESTAMP ff- fi) )" pero parece que lo copiaste y pegaste de oro lado. Hay que razonarle un poquito...


La franja horaria es GMT +2. Ahora son las 15:26:29.

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