FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Consulta que obtiene campos de una tabla u otra según condición
Hola a tod@s!
Tengo un problema con una consulta a la que no le veo salida... Tengo dos tablas: Código:
A B ******** ******** A_CODIGO B_CODIGO A_CANTIDAD A_CODIGO A_BORRADO B_CANTIDAD_REAL B_BORRADO Así, si quisieramos hacer un resumen del tipo: Código:
CODIGO CANTIDAD ****** ******** 000001 236 000002 568 000003 1236 He aquí la pregunta: ¿Cómo puedo, mediante una consulta SQL, hacer que me traiga dicha información? He intentado varias soluciones pero no me resulta ninguna... por ejemplo:
Ambas consultas me funcionan por separado, pero si las uno, me da el error: "tipo de dato desconocido"... Gracias de antemano por la ayuda que me puedan dar para sacar adelante esta consulta (me da vergüenza, pero no le veo salida ) Última edición por Gabo fecha: 14-08-2007 a las 11:09:10. Razón: Cambio en el formato |
#2
|
||||
|
||||
Has probado a utilizar un 'CASE' dentro del propio Select ?
Algo así como :
Nota : No he probado la sentencia, por lo que no puedo asegurar que la sintaxis sea la correcta. Pero intento darte la idea para que la desarrolles tu mismo.
__________________
Piensa siempre en positivo ! |
#3
|
||||
|
||||
Gracias gluglu por tu respuesta!
He probado la consulta que me has dicho, asi como otras variantes según cosas que ví en otros hilos sobre esta función (la que desconocía, por cierto )... Sin embargo, en todas las formas que he probado me da el error "token unknown" en "when"... No sé si será problema de que no está incluida la función (utilizo Interbase versión 6)... De hecho el case no me lo pone en negrita como cuando reconoce un palabra reservada, aunque el when sí y es donde realmente me marca el problema... ¿Sabes si esta incluido el Case en Interbase 6? Por lo menos, en la documentación adjunta no me aparece... |
#4
|
||||
|
||||
No conozco las posibilidades de Interbase 6, pero con Firebird 2 y sus extensiones, lo tendrías resuelto fácilmente.
Por ejemplo con COALESCE Cita:
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#5
|
||||
|
||||
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 ! |
#6
|
||||
|
||||
Sólo que por ahora no tengo contemplado hacer ningún cambio...
¿Podrían decirme si la sintaxis de esta consulta es correcta?
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 |
#7
|
||||
|
||||
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 ! |
#8
|
||||
|
||||
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... |
#9
|
||||
|
||||
Sigo haciendo pruebas... he intentado volver a la idea original...
Como les mencionaba, esta consulta...
... me da el error de tipo de dato desconocido: Código:
Dynamic SQL Error SQL error code = -104 Invalid command Data type unknown |
#10
|
|||
|
|||
prueba con esta consulta, deberia funcionar
Espero te sirva!!! Saludos |
#11
|
||||
|
||||
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... |
|
|
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 |
|