Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-03-2005
Avatar de raco
raco raco is offline
Miembro
 
Registrado: ene 2005
Posts: 58
Poder: 20
raco Va por buen camino
Ayuda con consulta

Hola!!!, espero q alguien me pueda ayudar, necesito hacer una consulta a 3 tablas, las cuales contienen los mismos campos pero diferente contenido y pertenecen a diferentes empresas y las tablas estan en diferente ubicacion, me gustaria saber como puedo hacer la consulta a las 3 tablas y hacer q el resultado este en un solo query.

Gracias
Responder Con Cita
  #2  
Antiguo 25-03-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Algo como

Código SQL [-]
select * from tabla1

union

select * from tabla2

union

select * from tabla3

Lo que no me queda claro es a qué te refieres con "las tablas estan en diferente ubicacion". Si te refieres a distintas bases de datos entonces dependerá del motor que uses el que puedas hacerlo o no y cómo. Por ejemplo con Paradox tienes que anteponer al nombre de la tabla

:nombre_base_de _datos:

En MySql antepones

nombre_base_de_datos.

En Firebird tengo entendido que no se puede.

// Saludos

Última edición por roman fecha: 25-03-2005 a las 04:31:02.
Responder Con Cita
  #3  
Antiguo 01-04-2005
Avatar de raco
raco raco is offline
Miembro
 
Registrado: ene 2005
Posts: 58
Poder: 20
raco Va por buen camino
Ayuda con consulta

A ver si me explico , lo que pasa es que son 3 empresas y cada una tiene una ubicacion diferente, por ejemplo:

la tabla de empleados esta dividida en 3 empresas diferentes, o sea que las tablas tienen los mismos campos, pero hay empleados que pertenecen a mas de una empresa:

\server\compacw\empresas\presensa2005\nom10001

\server\compacw\empresas\asimilados\nom10001

\server\compacw\empresas\PRESTADORES DE\nom10001

Y como hay empleados que estan en mas de una empresa, necesito hacer la consulta para sacar la suma del sueldo y otras cosas. A eso me refiero con que estan en diferente ubicacion y es por eso que necesito ver como lo puedo hacer en un solo query, si es que se puede, lo que yo habia pensado era hacer 3 consultas diferentes y despues meterlas en una sola tabla y luego ya hacer la consulta que necesito, pero si se puede hacer de otra forma mejor.
Las tablas son de Paradox.

Gracias.
Responder Con Cita
  #4  
Antiguo 01-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues ya te mencioné como se hace con Paradox, anteponiendo el nombre de la base de datos (alias) entre :: al nombre de la tabla:

Código SQL [-]
select * from resensa:nom10001

union

select * from :asimilados:nom10001

union

select * from restadores:nom10001

suponiendo que presensa, asimilados y prestadores son los alias de las bases.

O puedes también especificar la ruta completa de cada base en la consulta:

Código SQL [-]
select * from '\server\compacw\empresas\presensa2005\nom10001'

union

select * from '\server\compacw\empresas\asimilados\nom10001'

union

select * from '\server\compacw\empresas\PRESTADORES DE\nom10001'

// Saludos
Responder Con Cita
  #5  
Antiguo 05-04-2005
Avatar de raco
raco raco is offline
Miembro
 
Registrado: ene 2005
Posts: 58
Poder: 20
raco Va por buen camino
Ayuda con consulta

ok, gracias, me funciono con la ruta, pero no me jala con el alias, si es asi como lo debo de poner?, por que me marca error y me gustaria mas usarlo con el alias por que estoy probando con un respaldo y cuando termine lo voy a poner al servidor y no quiero tener que cambiar cada query , a ver si me puedes ayudar por favor y disculpen la molestia.
Responder Con Cita
  #6  
Antiguo 05-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por raco
pero no me jala con el alias, si es asi como lo debo de poner?, por que me marca error
¿Qué error te marca? ¿Por qué no escribes aquí la consulta como la usaste?

// Saludos
Responder Con Cita
  #7  
Antiguo 06-04-2005
Avatar de raco
raco raco is offline
Miembro
 
Registrado: ene 2005
Posts: 58
Poder: 20
raco Va por buen camino
Consulta

Otra vez no me supe explicar , ya me funciono , lo que pasa es que no funcionaba ni con una consulta simple, por ejemplo tu me pusiste este codigo:


select * from :Presensa:nom10001

union

select * from :asimilados:nom10001

union

select * from :Prestadores:nom10001


y no era asi, y le probe varios cambios pero no queria, pero era una tonteria (le faltaban las comillas), el codigo es asi :


select * from ':Presensa:nom10001'

union

select * from ':asimilados:nom10001'

union

select * from ':Prestadores:nom10001'

Pero ya me funciono. Muchas gracias
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 08:05:23.


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