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 15-01-2004
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
Ordenar por campo lookup

Tengo una tabla en interbase asociada a una query a la cual le he añadido un nuevo campo de tipo lookup para q me muestre el campo nombre que esta en otra tabla segun si su codigo coincide con el que esta en la tabla asociada a la query, el problema es que quiero poder mostrar en un grid los datos de la tabla y que los pueda mostrar ordenados por el nombre que coje de la segunda tabla (estilo select * from tabla order by nombre) pero al ser un campo lookup no se puede ordenar con un order by
Responder Con Cita
  #2  
Antiguo 16-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Lo que quieres hacer sólo lo conseguirás si haces una Query con una join entre las dos talbas y entonces utilizar el order by

Algo así más o menos

Código:
select *
from tabla1 a
   join tabla2 b on (b.campounion = a.campounion)
where lo que sea
order by nombre
Responder Con Cita
  #3  
Antiguo 16-01-2004
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
Bien ahora vamos a complicarlo un poquitin mas como podria hacerlo si las dos tablas se encuentran en bases de datos distintas??

una en db1.fdb y la otra en db2.fdb
Responder Con Cita
  #4  
Antiguo 16-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
si accedes a las bases de datos mediante el BDE, mírate lo que dice la ayuda del Local SQL sobre las Heterogeneous joins

Cita:
Joins two tables from different databases.

SELECT column_list

FROM ":database_reference:table_reference", ":database_reference:table_reference" [,":database_reference:table_reference"...]

WHERE predicate [AND predicate...]

Description

Use a heterogeneous join to join two tables that reside in different databases. The joined tables may be of different types (like dBASE to Paradox or Paradox to InterBase), but you can only join tables whose database types are accessible through the BDE (local, ODBC, or SQL Links). A hetergeneous join may be any of the joins supported by local SQL. The difference is in the syntax for the table reference: the database containing each table is specified in the table reference, surrounded by colons and the whole reference enclosed in quotation marks. The database specified as part of the table reference may be a drive and directory reference (for local tables) or a BDE alias.

SELECT *

FROM ":DBDEMOS:Customer.db" C, ":BCDEMOS:Orders.db" O

WHERE (C.CustNo = O.CustNo)
Espero te sirva

Última edición por __cadetill fecha: 16-01-2004 a las 09:32:30. Razón: Deshabilitar smiles
Responder Con Cita
  #5  
Antiguo 16-01-2004
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
El problema es q no hacedo mediante BDE sino por las IBOObject y no se cual sera su equivalente en este caso a database_reference.

A la base de datos accedo mediante un TIB_connection el cual tiene como referencia para acceder: 172.26.0.7:/datos/bd.fdb (uso dialecto 3)
Responder Con Cita
  #6  
Antiguo 16-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
No se con IBO ya que nunca los he utilizado, pero con IBX o FIBPlus no se puede. Lo de las Heterogeneous joins es una característica del BDE que lo que hace, básicamente, es, internamente, lanzar un SQL sobre cada tabla para despues unirlas y, el resultado, es lo que devuelve al cliente
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 05:30:59.


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