Club Delphi  
    Paypal   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 01-02-2018
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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
  #2  
Antiguo 02-02-2018
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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
  #3  
Antiguo 02-02-2018
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 19:12:24.
Responder Con Cita
  #4  
Antiguo 02-02-2018
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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
  #5  
Antiguo 02-02-2018
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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
  #6  
Antiguo 02-02-2018
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 22:02:39.
Responder Con Cita
  #7  
Antiguo 02-02-2018
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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
  #8  
Antiguo 03-02-2018
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 646
Poder: 23
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 00:23:59.
Responder Con Cita
  #9  
Antiguo 03-02-2018
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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
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 03:52:07
TMemoField y error SQLDA brandolin Firebird e Interbase 0 16-02-2009 18:55:03
ods (on disk structure) arrayman Firebird e Interbase 1 25-11-2007 23:30:48
insert into tabla values (select *... ¿? jorgesl SQL 15 11-04-2006 21:29:08
Problemas con un Grid ( integer values ) aragorneuf Varios 6 28-04-2004 00:18:20


La franja horaria es GMT +2. Ahora son las 23:59:45.


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