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 14-08-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 24
gluglu Va por buen camino
Yo utilizo Interbase 7.5 y no tengo problemas con 'Case'. La verdad es que desconozco si la función está implementada en Interbase 6.

COALESCE también está implementada en Interbase 7.5
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 14-08-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 20
Gabo Va por buen camino
Sólo que por ahora no tengo contemplado hacer ningún cambio...

¿Podrían decirme si la sintaxis de esta consulta es correcta?

Código SQL [-]
select cliente_codigo,
case when cliente_borrado=0 then cliente_poblacion
else cliente_provincia
end
from cliente

Es que a mi me falla ("token unknown") y si está correcta, simplemente es que no existe en la versión 6 de Interbase...

Gracias
Responder Con Cita
  #3  
Antiguo 14-08-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 24
gluglu Va por buen camino
Siempre y cuando Cliente_Provincia y Cliente_Poblacion sean del mismo tipo, es correcta.

Ya he probado otra parecida con una de mis tablas en Interbase 7.5 y sin problema alguno.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #4  
Antiguo 14-08-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 20
Gabo Va por buen camino
Sí, son del mismo tipo... Por lo que veo el tema es que no está disponible en la versión 6 de Interbase...

Gracias gluglu por hacer la comprobación...

Seguiré intentando por que tiene que haber alguna otra manera de hacerlo...
Responder Con Cita
  #5  
Antiguo 16-08-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 20
Gabo Va por buen camino
Sigo haciendo pruebas... he intentado volver a la idea original...

Como les mencionaba, esta consulta...

Código SQL [-]
select a_codigo, a_cantidad from a 
where a_borrado=0 and a_codigo not in
(select a_codigo from b where b_borrado=0)
union all
select a_codigo, sum (b_cantidad_real) as suma from b
where b_borrado=0 group by a_codigo

... me da el error de tipo de dato desconocido:

Código:
Dynamic SQL Error
SQL error code = -104
Invalid command
Data type unknown
Ambas consultas me funcionan bien por separado y no entiendo bien el error, ya que los tipos de datos (tanto de a_cantidad, como de b_cantidad_real) son iguales, Integer en ambos casos. ¿A qué se puede deber el error?
Responder Con Cita
  #6  
Antiguo 17-08-2007
hach hach is offline
Miembro
 
Registrado: mar 2007
Ubicación: Bariloche, Argentina
Posts: 44
Poder: 0
hach Va por buen camino
Thumbs up prueba con esta consulta, deberia funcionar

Código SQL [-]
select a_codigo, sum(a_cantidad) from a
where a_borrado=0 and a_codigo not in
(select a_codigo from b where b_borrado=0)
group by a_codigo
union
select a_codigo, sum (b_cantidad_real) from b
where b_borrado=0
group by a_codigo

Espero te sirva!!!

Saludos
Responder Con Cita
  #7  
Antiguo 20-08-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 20
Gabo Va por buen camino
Thumbs up Muchas gracias

Increíble!!!

Esta mañana llegué con la idea de incorporar un nuevo campo en la tabla A que me sumara los registros asociados de B al insertarlos para facilitar la consulta después... cosa que en principio no me gustaba mucho, ya que se trataría de un campo cuyo contenido es el resultado de operaciones sobre otros, pero ya me estaba dando por vencido...

En eso, me encuentro la respuesta de hach... ¡Muchas gracias! Me pareció lógica en cuanto la ví, si la unión no la podía hacer por que en una select ocupaba la función SUM y no me reconocía los tipos de datos, ¿porqué no usar la función SUM en ambas?

Gracias de nuevo, y también a todos los que me ayudaron...
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
copiar campos de una tabla a otra en paradox Camilo Varios 18 27-06-2007 21:51:26
actualizar datos de una tabla según datos de otra. GustavoCruz SQL 10 01-06-2007 23:18:44
Actualizar una tabla con una consulta de otra tabla JODELSA SQL 2 14-09-2006 04:07:01
Cambiar de color una fila de un Dbgrid segun una condicion... hook Varios 5 12-07-2005 23:40:36
Cosultar datos de una tabla y copiar la consulta en otra JODELSA SQL 2 30-05-2005 21:53:30


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


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