Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Incorrect values within SQLDA structure

Buenas tardes amigos del foro.

Estoy trabajando con Delphi6/DBMS: FB 2.0/Win 7 y XP

Estoy tratando de correr una consulta que ahora el IBExpert, me esta marcando el siguiente error:

(anexe imagen)

Código SQL [-]
Dynamic SQL Error
SQL error code = -804
Incorrect values within SQLDA structure

Les adelanto que cambios a la base de datos no he realizado, tampoc he actualizado al FB a otra version.

Aqui la consulta que quiero realizar:
Código SQL [-]
select a.fecha_venta,
       a.lecher||' '||b.nombrelech as nomb_lec,
       b.nombrelech,a.lecher,
       a.dotacion_programada,
       b.clave_ruta||'-'||a.secuencia_distribucion as clave_ruta,
       a.secuencia_distribucion,
       i.nombre,g.cve_producto,
       g.cve_producto||' '||g.descripcion as producto,
       a.dotacion_programada/(g.volumen*g.piezas) as canastillas,
       c.neconomico,
       e.nombre||' '||E.apellido_paterno||' '||E.apellido_materno as nombre_trans,
       '' as telefono_celular,
       f.descripcion as cia_transporte,
       a.observacion_comentario,
      (select h.precio_litro_concesionario
        from precio_producto_hist h
        where h.clave_contrato=b.tipo_contr
          and h.cve_producto=a.cve_producto
          and h.fecha_vigencia_inicial<=a.fecha_venta
          and h.fecha_vigencia_final>=a.fecha_venta) as precio_litro_concesionario,
       b.ml_calle,
       b.ml_colo,
       b.ml_refe,
       '' as telefono_lecheria,
       '' as telefono_concesionario,
       a.comentario_das30,a.folio_impreso,
       '*'||a.folio_impreso||'*' as codbar,
       j.nombre_supervisor,
       j.telefono as telef_supervisor
from VENTA a,
     TIENDA b,
     RUTA c,
     CAMION d,
     TRANSPORTISTA e,
     COMPANIA_TRANSPORTE f,
     PRODUCTO g,
     DISTRIBUIDOR i,
     SUPERVISOR J
where a.lecher=b.lecher
  and b.clave_ruta=c.clave_ruta
  and c.neconomico=d.neconomico
  and d.clave_transportista=e.clave_transportista
  and e.clave_cia=f.clave_cia
  and a.cve_producto=g.cve_producto
  and b.clave_concesionario=i.clave_concesionario
  and a.fecha_venta between :fecha1 and :fecha2
  and a.dotacion_programada>0
  and ((b.clave_ruta >= :desde) AND (b.clave_ruta <= :hasta))
  and c.id_supervisor=j.id_supervisor
order by a.fecha_venta, 
         b.clave_ruta,
         a.secuencia_distribucion,
         a.cve_producto

La consulta desde la aplicacion delphi correo sin problema, no manda mensaje de error, (hasta ahorita).

Algo que he logrado detectar, es que este error me lo marca en la tabla "TIENDA" cuando agrego los parametros "DESDE" y "HASTA" que, de igual manera, si los cambio por constantes (cualquiera), ej "1" y "3", también lo marca el error, algo estará pasando en esta tabla???

Acudo a ustedes para q me orienten por donde va la cosa, mientras tanto sigo buscando en "San Google", que por cierto la mayoria de la documentación que encontré está en ingles y hablan desde una posible corrupcion de datos, hasta borrar componentes...los cuales no definen a que componentes se refieren.

Saludos
Imágenes Adjuntas
Tipo de Archivo: jpg MSG-Err SQLDA Structure -804.jpg (26,2 KB, 5 visitas)
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 31-01-2018 a las 00:53:16.
Responder Con Cita
  #2  
Antiguo 01-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Realizando pruebas....

Acciones:

1.-Copie del servidor (q por cierto es WinXP), la base de datos a mi laptop, donde estoy desarrollando la aplicación.
2.- Ejecute dentro del IBExpert, la consulta que me esta marcando error....y aqui no me genera ningun msg de error.

Conclusiones:

Creo q va a ser el Firebird (2.0), lo desinstalare del servidor para verificar si era eso.

Ayer dentro de los links q estaba consultando (Brasil), mencionaban acerca del GDS32.dll y un archivo q no habia escuchado F2.dll....mencionaban que deberian remplazarse...alguien sabe si tiene que ver los DLL para el mensaje de error que me esta apareciendo???

Saludos y gracias por su tiempo.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #3  
Antiguo 01-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Estás dando "palos de ciego", y así no vas a ninguna parte.
Aclárate. Asegúrate que la base de datos está creada con la versión de firebird instalada en el sistema. NO mezcles distintas versiones. Si antes tenías otra versión, entonces desinstala todas, elimina fbclient.dll y gds32.dll que encontrarás en distintos directorios.
Haz una instalación limpia de firebird.
Responder Con Cita
  #4  
Antiguo 01-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Estás dando "palos de ciego", y así no vas a ninguna parte.
Aclárate. Asegúrate que la base de datos está creada con la versión de firebird instalada en el sistema. NO mezcles distintas versiones. Si antes tenías otra versión, entonces desinstala todas, elimina fbclient.dll y gds32.dll que encontrarás en distintos directorios.
Haz una instalación limpia de firebird.
Gracias casimiro por contestar.

Si, efectivamente estoy dando "palos de ciego", pero es que no se por donde pueda estar el error.

La base de datos fue creada en la version 2.0 (2.0.1.12855), tanto en el servidor como en mi lap, tengo instalada la misma version, en mi lap no marca error.

Configuracion de la BD en mi lap:

Código:
Server: Local
Server Version: Firebird 2.0
Charset:NONE
Client Library File: gds32.dll
Font Characters Set: ANSI_CHARSET
(S.O. Win7)
Configuracion en PC Servidor:
Código:
Server: Remote
Server version= Firebird 2.0
Charset: ASCII
Client Library File: gds32.dll
Fon Characters Set: ANSI_CHARSET
(S.O. Win XP)
LO QUE HICE
1.- Desinstale en PC-Servidor, el firebird 2.0
2.- Renombre la carpeta de Firebird, q se creo cuando instale por primera vez el Firebird. Lo anterior para cuando reinstale la vuelva a crear (q tambien la pude haber borrado).
3.- Reinstale la version 2.0
4.- Ejecute el qry dentro del IBExpert y ME MARCO ERRORRRRR!!
5.- Copie nuevamente el GDS32.dll dentro de la carpeta Windows\System32
6.- Ejecute nuevamente el QRY...y volvio a marcar error.

Bien....hasta aqui lo q he hecho. Alguna sugerencia?.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #5  
Antiguo 01-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mRoman Ver Mensaje
Código:
Server: Local
Server Version: Firebird 2.0
Charset:NONE
Client Library File: gds32.dll
Font Characters Set: ANSI_CHARSET
(S.O. Win7)
Configuracion en PC Servidor:
Código:
Server: Remote
Server version= Firebird 2.0
Charset: ASCII
Client Library File: gds32.dll
Fon Characters Set: ANSI_CHARSET
(S.O. Win XP)
LO QUE HICE
1.- Desinstale en PC-Servidor, el firebird 2.0
2.- Renombre la carpeta de Firebird, q se creo cuando instale por primera vez el Firebird. Lo anterior para cuando reinstale la vuelva a crear (q tambien la pude haber borrado).
3.- Reinstale la version 2.0
4.- Ejecute el qry dentro del IBExpert y ME MARCO ERRORRRRR!!
5.- Copie nuevamente el GDS32.dll dentro de la carpeta Windows\System32
6.- Ejecute nuevamente el QRY...y volvio a marcar error.

Bien....hasta aqui lo q he hecho. Alguna sugerencia?.

Otra vez dando palos de ciego
Responder Con Cita
  #6  
Antiguo 01-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Haz una instalación limpia de firebird.
Ejecuta tu programa y copia aquí el error.
Responder Con Cita
  #7  
Antiguo 01-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Ok...casimiro. Hice lo q me dijiste y marca el mismo error:

Código SQL [-]
An error was found in the application program input parameters for the SQL statement
Dynamic SQL Error
SQL error code = -804
Incorrect values within SQLDA structure

Resulta extraño porque hasta ahora me marca este error, despues de 4 o 5 años trabajando igual con ese mismo query.

Los parametros de entrada son:

FECHA1, FECHA2, DESDE y HASTA

Anteriormente no me daba problemas. Este query lo tengo almacenado en archivo el cual es cargado al componente IBQuery para su ejecución.

Código Delphi [-]
if cbxTipoImpr.ItemIndex=0 then
     qrDAS30b.qryDAS30.SQL.LoadFromFile( ExtractFilePath(Application.Exename)+'\SQLS\imp_1.sql') 
else
     qrDAS30b.qryDAS30.SQL.LoadFromFile( ExtractFilePath(Application.Exename)+'\SQLS\imp_2.sql');

qrDAS30b.qryDAS30.Close;
qrDAS30b.qryDAS30.ParamByName('fecha1').AsDate:=FechaDe.Date;
qrDAS30b.qryDAS30.ParamByName('fecha2').AsDate:=FechaAl.Date;
qrDAS30b.qryDAS30.ParamByName('desde').AsString:=mskDesde.Text;
qrDAS30b.qryDAS30.ParamByName('hasta').AsString:=mskHasta.Text;
qrDAS30b.qryDAS30.Open;

En cualquier de los archivos cargados (imp_1.sql y imp_2.sql), me da el error. Dentro de la aplicacion me marca el error y los cargo al IBExpert y tambien. La estrcutra de mi consulta como que esta mal definida....mas arriba de este post, deje la consulta que estoy realizando....

Saludos a todos y gracias por su tiempo en especial a Casimiro.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 01-02-2018 a las 22:45:20.
Responder Con Cita
  #8  
Antiguo 01-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Smile RESUELTO Incorrect values within SQLDA structure

Parece que ya supe que es el ERROR ! (por cierto algo raro)

Código SQL [-]
     '' as telefono_celular

En el cuerpo del query tengo declarado la instruccion anterior, (mas arriba esta el query completo), resulta que si los dejo o borro del query, YA NO MARCA ERROR !!!...parece que dentro de la estructura de construcción de un query, no esta reconociendo las comillas simples.....SUPER EXTRAÑO.

Me salta la duda si, por medio de internet se haya realizado alguna actualización al Firebird de manera automática??. Ya que de otra manera no me explico el porque ya no reconoce las comillas simples como parte de la estructura del un QUERY.

Nada q ver con archivos DLL, ni resinstalaciones (bueno eso digo yo)...es raro.!. Y mas raro porq mi lap seguido me conecto a internet...y ahi si me deja ejecutar la query.

Algo sumamente extraño que no logro explicarme.....alguien sabe porque?

Seguiré investigando....Saludos!!!

p.d. Algo mas que me di cuenta, entre las comillas no hay un espacio, se los agregue y listo !!! Ejecuto sin problema las instrucciones del query.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 01-02-2018 a las 23:30:41.
Responder Con Cita
  #9  
Antiguo 01-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bien, paso a paso...
Pega el select en ibexpert y prueba ahí.
Si muestra el error, ve poniendo líneas en comentario y probando, hasta encontrar exactamente la línea que te da el error.
Responder Con Cita
  #10  
Antiguo 01-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Te refieres a esta línea?: '' as telefono_celular,

Si la pones en comentario, ¿funciona bien?
Responder Con Cita
  #11  
Antiguo 01-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Si...de hecho la deje asi:

Código SQL [-]
   ' ' as telefono_ceular

Anteriormente estaba asi:
Código SQL [-]
   '' as telefono_ceular // Sin espacio entre las comillas simples

No te parece raro !??
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #12  
Antiguo 02-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y para qué haces eso? Quiero decir que para qué devuelves algo en blanco si no es un campo.
Responder Con Cita
  #13  
Antiguo 02-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Unhappy

Yo también pienso lo mismo...

Es por el nombre del "campo" (telefono_celular), desafortunadamente hay cosas que no puedo cambiar (algo largo de explicar)y este es uno de ellos. En la estructura del reporte DEBE haber un campo llamado asi....si no el reporte no funciona porq trata de localizar ese campo y si no va en la estructura del query, pues el sistema mandara MSG de error.

Ahora se me esta presentando el mismo problema en un query q no tiene comillas simples con algo vacio entre ellas....es raro. Algo se ha de haber cambiado dentro de Firebird ya que algunas estructura hechas de SQL no las esta reconociendo....ahora el error me lo presenta en una consulta con SELECT anidados....los tuve que hacer por separado para que ya no marcara error....Y COMO ESE QUERY TENGO MAS DENTRO DEL SISTEMA....y ahora también me da estos mismos errores en mi laptop !!!...no he reinstalado ni actualizado nada ahi!.

Código SQL [-]
select a.anio,
       ((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

Lo curioso es que en el IBExpert no marca errores....pero en el sistema si lo hace¡¡¡....(todo en mi lap)
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 02-02-2018 a las 20:12:24.
Responder Con Cita
  #14  
Antiguo 02-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No es fallo de firebird.
Revisa bien los parámetros, sus valores, etc.
Empieza simple para hacer pruebas, y ve aumentando poco a poco, hasta encontrar el problema.
Pero cambia el "chip", olvídate de que el fallo es de firebird.
Responder Con Cita
  #15  
Antiguo 02-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Eso me queda claro....que Firebird no puede ser, por eso me resulta mas intrigante.

Les comento, realice una prueba con esa misma consulta y me mostrara el contenido de la propiedad SQL.Text del TIBQuery y me muestra la estructura bien con los parametros ":anio" y ":mes", ahora falta revisar el contenido de esos parametros.

Les aviso....el resultado.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #16  
Antiguo 02-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Cita:
Empezado por mRoman Ver Mensaje
Yo también pienso lo mismo...

Es por el nombre del "campo" (telefono_celular), desafortunadamente hay cosas que no puedo cambiar (algo largo de explicar)y este es uno de ellos. En la estructura del reporte DEBE haber un campo llamado asi....si no el reporte no funciona porq trata de localizar ese campo y si no va en la estructura del query, pues el sistema mandara MSG de error.

Ahora se me esta presentando el mismo problema en un query q no tiene comillas simples con algo vacio entre ellas....es raro. Algo se ha de haber cambiado dentro de Firebird ya que algunas estructura hechas de SQL no las esta reconociendo....ahora el error me lo presenta en una consulta con SELECT anidados....los tuve que hacer por separado para que ya no marcara error....Y COMO ESE QUERY TENGO MAS DENTRO DEL SISTEMA....y ahora también me da estos mismos errores en mi laptop !!!...no he reinstalado ni actualizado nada ahi!.

Código SQL [-]
select a.anio,
       ((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

Lo curioso es que en el IBExpert no marca errores....pero en el sistema si lo hace¡¡¡....(todo en mi lap)
Bien les platico que hice...

Por cada parametro definido en la consulta, tuve que definirlos nuevamente pero de manera distinta, esto obviamente me ocasiono aumentar mas lineas de codgo al momento de ejectuar la consulta desde delphi.

Nueva consulta con parametros nuevos:
Código SQL [-]
select a.anio,
       ((select sum(b.litros)
           from reporte_despacho1 b
          where extract(year from b.fecha_embarque)=:anio1
            and extract(month from b.fecha_embarque)=:mes1
            and b.producto like 'AS%' )-a.feb ) as difer,
       ((select sum(b.litros)
           from reporte_despacho1 b
          where extract(year from b.fecha_embarque)=:anio2
            and extract(month from b.fecha_embarque)=:mes2
            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=:anio3

Y de esta manera no me marca error....

PREGUNTA:

La construccion de mi consulta original esta mal estructurada??...es válida para firebird??.

Trabajar asi, me parece algo realmente INPRACTICO ya que en ocaciones son necesarios repetirlos dentro de una misma consulta, como en este caso...porqué entonces se comporta como que no es correcto??.

OBSERVACIONES:
  1. No permite usar los mismos nombres de parametros dentro de la estructura SQL de consulta.
  2. El uso de comillas simples '' sin un espacio en blanco dentro de ellas, aparentemente no lo reconoce como estructura válida de SQL (otra consulta distinta), es necesario dejarle el espacio entre las comillas ' '.
mmm...alguien mas que no pueda dar una luz con esto??.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 02-02-2018 a las 23:02:39.
Responder Con Cita
  #17  
Antiguo 03-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Para poder ayudarte tendríamos que tener la estructura de la base de datos y saber exactamente qué quieres conseguir.
Aparte de eso, ese select no se parece en nada al primero que pusiste.
Responder Con Cita
  #18  
Antiguo 03-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Oh...si tienes razón, no se parece nada al q esta al inicio del post. Me refiero al segundo: http://www.clubdelphi.com/foros/show...8&postcount=13

Enviar la estructura?, tendría que pedir autorización...yo creo q no hay problema, pero dejame verlo.

Que quiero conseguir?....pues q no me de esos errores....no estaban sucediendo, porque ahora si!??, mas especifico?, pues, ejemplo: la consulta que hoy me ocupa. Queria aprovechar q en una sola consulta me diera 2 datos, la DIFERENCIA (difer) entre una cantidad de lts programados mensualmente VS los lts que se estan distribuyendo en el mes que esta corriendo y a su vez, dentro de la misma consulta, que me presentara también el PORCENTAJE que representa.

Estos 2 datos, los tuve que separar una consulta para cada cosa, cuando anteriormente, este mismo select se ejecutaba a la perfección sin mostrar ninguno error.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 03-02-2018 a las 01:23:59.
Responder Con Cita
  #19  
Antiguo 03-02-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 28.703
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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.
Responder Con Cita
  #20  
Antiguo 06-02-2018
mRoman mRoman is offline
Miembro
NULL
 
Registrado: nov 2003
Posts: 360
Poder: 16
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
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 !
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 06-02-2018 a las 21:57:20.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Incorrect values within SQLDA structure fedelinardi SQL 5 01-02-2018 04:52:07
TMemoField y error SQLDA brandolin Firebird e Interbase 0 16-02-2009 19:55:03
ods (on disk structure) arrayman Firebird e Interbase 1 26-11-2007 00:30:48
insert into tabla values (select *... ¿? jorgesl SQL 15 11-04-2006 22:29:08
Problemas con un Grid ( integer values ) aragorneuf Varios 6 28-04-2004 01:18:20


La franja horaria es GMT +2. Ahora son las 10:26:27.


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