![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Dentro de mi breve experiencia en SQL, entiendo que un left join "añade" registros concatenando dos campos (uno de cada tabla), por ejemplo
select * from editoriales left join libros on editoriales.codigo=libros.codigoeditorial sacara los libros de la tabla editoriales cuyo editoriales.codigo sea igual a la libros.codigoeditorial Pero aqui lo que se busca es "sustituir" un campo de un tabla por el contenido de otro campo de otra tabla, se me ocurre hacerlo en dos pasos. Primero sacar los campos de RDB$FIELDS y despues recorrer el DataSet asignando el RDB$TYPES correspondiente. Digo esto porque si en un futuro o version de firebird cambia el tipo, al haberlo asignado mediante un case podemos tener un problema ¿no? |
|
#2
|
||||
|
||||
|
Ya te digo, no he mirado esa tabla, no tengo ni idea, tendría que investigar un poco y echarle un vistazo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Gracias casimiro por el tiempo dedicado, creo que tienes cosas mejores que hacer que mirar este tema, yo lo investigare y de paso aprendere mas sql, en cuanto encuentro una solucion lo publico.
Una vez mas agradezco infinitamente el tiempo que nos dedicas, deberiamos compensarte, a ti y al resto de los moderadores no se como, pero deberiamos.Thanks. ![]() |
|
#4
|
||||
|
||||
|
Gracias a ti, y cuéntanos lo que descubras
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Bueno, creo que se lo que pasa, tema resuelto.
Segun se ve en la tabla de tipos, digamos, que no esta todo lo precisa que se necesita. He realizado una segunda pasada para incluir los nombres de los tipos y no queda como quisieramos, hay que hacer el CASE "en linea" como hace todo el mundo (o el primero que empezo, jejeje )En esta imagen se ve la aplicacion que muestra los campos de las tablas usando la funcion que nos ocupa (osea, funciona) ![]() En esta imagen se ven los tipos de datos en la tabla RDB$TYPES ![]() He "Adecentado" o mejor dicho simplificado y adecuado el codigo para tener todos los campos de una tabla y sus caracteristicas. Dejo toda la funcion completa ya que despues hay que sacar los indices y los campos que corresponden a los indices. Este codigo es totalmente funcional, evidentemente el formulario y las grillas las pone cada usuario ![]() Casimiro, puedes usarlo cuando quieras, jejeje ![]()
Tema cerrado. Última edición por cesarsoftware fecha: 26-11-2012 a las 20:29:46. |
|
#6
|
||||
|
||||
|
Entonces no era tan complicado ni tenía misterios ocultos, sólo hacía falta ponerse un rato con ello para entender el motivo
![]() Gracias por compartirlo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ¿Cómo versionar el esquema o los metadatos de base de datos? | erasmo_ga | Firebird e Interbase | 4 | 08-12-2011 03:08:05 |
| Problema extrayendo campo imagen de una tabla access | JoysticK | Gráficos | 8 | 08-08-2008 03:00:07 |
| Extraer metadatos de archivos DBF | DobleSiete | SQL | 9 | 25-01-2005 15:59:07 |
| Extraer metadatos | RONPABLO | Firebird e Interbase | 2 | 22-10-2004 20:04:56 |
|