Cita:
Empezado por Casimiro Notevi
Pon por aquí solamente la estructura de las tablas involucradas en la consulta, y también puedes obviar los campos que no se usen.
Luego explicas exactamente qué consulta necesitas extraer.
Entre todos te ayudaremos a crearla.
|
Claro que si casimiro, de hecho eso me habian autorizado. Gracias por tu tiempo.
HOLA...despues de fin de semana largo aca en México, me reincorporo.
Bueno agradeciendo siempre el tiempo que me dediquen.
Aca las estructuras de las tablas involucradas.
Código SQL
[-]
CREATE TABLE REPORTE_DESPACHO1 (
PLANTA NUMERIC(3,0),
PRODUCTO VARCHAR(11),
FECHA_EMBARQUE DATE,
LITROS NUMERIC(8,0)
);
Código SQL
[-]CREATE TABLE PROGRAMA_DISTRIBUCION_ANUAL (
ANIO NUMERIC(4,0) NOT NULL,
CLAVE_CLASIFICACION NUMERIC(3,0) NOT NULL,
CLAVE_RUBRO NUMERIC(3,0) NOT NULL,
OFICIO_REFERENCIA VARCHAR(20),
ENE NUMERIC(15,3),
FEB NUMERIC(15,3),
MAR NUMERIC(15,3),
ABR NUMERIC(15,3),
MYO NUMERIC(15,3),
JUN NUMERIC(15,3),
JUL NUMERIC(15,3),
AGO NUMERIC(15,3),
SEP NUMERIC(15,3),
OCT NUMERIC(15,3),
NOV NUMERIC(15,3),
DIC NUMERIC(15,3)
);
Código SQL
[-]CREATE TABLE PRODUCTO (
CVE_PRODUCTO VARCHAR(11) NOT NULL,
DESCRIPCION VARCHAR(100),
ENVASE VARCHAR(20),
VOLUMEN NUMERIC(5,0),
UNIDAD_MEDIDA VARCHAR(3),
EMBALAJE VARCHAR(20),
PIEZAS NUMERIC(5,0),
FOTO BLOB SUB_TYPE 0 SEGMENT SIZE 100,
ACTIVAR_PRODUCTO NUMERIC(1,0),
DISTRIBUIDO_POR NUMERIC(5,0),
TIPO_PRODUCTO NUMERIC(1,0) NOT NULL,
EQUIVALENTE_LITROS NUMERIC(3,3) NOT NULL,
TIPO_LECHE NUMERIC(1,0) NOT NULL,
CVE_PRODUCTO_SAFCO VARCHAR(3),
SKU NUMERIC(13,0),
STOCK_MINIMO NUMERIC(5,0),
STOCK_INICIAL NUMERIC(5,0),
STOCK_ACTUAL NUMERIC(5,0),
CONTROL_KARDEX VARCHAR(1)
);
Y la consulta que quiero hacer es q me de los siguientes datos:
Código:
ANIO, LTS_PROG_ANUAL ,LTS_DESPACHO,DIFER, PORCENTAJE
Aca la estructura del query que SIEMPRE he usado:
Código SQL
[-]
select a.anio,
a.feb as lts_prog_anual,
(select sum(b.litros)
from reporte_despacho1 b
where extract(year from b.fecha_embarque)=:anio
and extract(month from b.fecha_embarque)=:mes
and b.producto like 'AS%' ) as lts_despacho,
((select sum(b.litros)
from reporte_despacho1 b
where extract(year from b.fecha_embarque)=:anio
and extract(month from b.fecha_embarque)=:mes
and b.producto like 'AS%' )-a.feb ) as difer,
((select sum(b.litros)
from reporte_despacho1 b
where extract(year from b.fecha_embarque)=:anio
and extract(month from b.fecha_embarque)=:mes
and b.producto like 'AS%' )/a.feb)*100 as porcentaje
from PROGRAMA_DISTRIBUCION_ANUAL A
where a.clave_clasificacion=3
and a.clave_rubro=1
and a.anio=:anio
Por código, construyo la consulta anterior, para agregarle el nombre del campo del mes de la tabla "PROGRAMA_DISTRIBUCION_ANUAL". Posterior a la construccion de la consulta, mande me lo mostrara el contenido de la propiedad SQL.TEXT del IBQuery, dentro de un ShowMessage y es el mismo lineas arriba.
Cualquier otro dato, me lo hacen saber por favor.
Espero sus comentarios muchachos !!!... SALUDOS !