Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-05-2005
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Unhappy Error en sql cuando cambie de version

Hola a todos , he tenido mas de un año programando el delphi y firebird 1.0 ahora me decidi a cambiara a firebird 1.5.2 pero en algunos querys que funcionaban perfecto (o aparentemente perfectos ) ahora no me funcionan indicando que hay error en las clausular del GROUP BY

aqui les pongo un ejemplo

Código PHP:
Select key_cab_fac,c.key_caja,c1.cod_cliente,c1.nombre,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=101) as CHEQ ,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=100) as EFEC ,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=109) as FACR ,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=105) as IVA  ,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=106) as DCTOV,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=107) as RFLET,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=108) as RTARC,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=104) as RETFU,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=694) as RIVA ,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=102) as TCRED,
(
Select z(sum(t2.total)) from form_pago t2
Where t2
.key_cab_fac=t1.key_cab_fac and t2.cod_pago=533) as VEN_A
From form_pago t1
,cab_fac c
LEFT JOIN clientes C1 ON c
.key_cliente=c1.key_cliente
Where t1
.key_cab_fac=c.key_cab_fac and c.estado_fac="T"
and  Extractdate(c.fec_facturaBetween :Fdesde and :Fhasta
group by key_cab_fac
,c.key_caja,c1.cod_cliente,c1.nombre 
Ese query lo que hace es crear las filas en columnas repito funcionaba en f1 ahora en f1.5.2 no funciona alguien me puede dar la mano ... Gracias de antemano
__________________
IVAND
Responder Con Cita
  #2  
Antiguo 01-05-2005
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 21
lbuelvas Va por buen camino
Hola foro,

Bueno a mi paso, que cuando cambie de Interbase a Firebird 1.0.3 las sentencias select que hacian uso de join mostraban error de ambiguedad.

Debe en firebird especificarse a que tabla se hace referencia cuando existen campos con igual nombre en diferentes tablas.

Prueba cambiar

and Extractdate(c.fec_factura) Between :Fdesde and :Fhasta
group by key_cab_fac,c.key_caja,c1.cod_cliente,c1.nombre

por:

and Extractdate(c.fec_factura) Between :Fdesde and :Fhasta
group by xxxxxxx.key_cab_fac,c.key_caja,c1.cod_cliente,c1.nombre

coloque xxxxxxx porque francamente no se a cual tabla haces referencia.

Una pregunta: esa consulta que pretende mostrar ?

Un feliz dia.

Luis F. Buelvas T.
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #3  
Antiguo 01-05-2005
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 21
lbuelvas Va por buen camino
Hola foro,

creo que tambien debes cambiar:

Select key_cab_fac,c.key_caja,c1.cod_cliente,c1.nombre,

por

Select xxxxxx.key_cab_fac,c.key_caja,c1.cod_cliente,c1.nombre,
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #4  
Antiguo 02-05-2005
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Gracias por contestar

Te comento que lo que dices lo acabo de hacer pero igual me da el mismo error ..

Seguire probando :-(

Nota : Lo que pretende es que un datos asi :
Código PHP:
Cab_fac     dato    valor 
-----------------------
1            C10              5
1            C12              7  
1            C13          20.25
1            C14          40 
Quede asi
Código PHP:
Cab__fac    C10      c12         c13           c14
---------------------------------------------
   
1             5          7         20.25            40 
__________________
IVAND
Responder Con Cita
  #5  
Antiguo 03-05-2005
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 21
lbuelvas Va por buen camino
Este tipo de consultas cross-tab, personalmente las elaboro con un procedimiento almacenado, se vera mas legible y ademas puedes hacer consultas sobre el resultado de dicho procedimiento almacenado.
__________________
Luis Fernando Buelvas T.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 00:43:38.


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
Copyright 1996-2007 Club Delphi