Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con consulta (https://www.clubdelphi.com/foros/showthread.php?t=19760)

raco 24-03-2005 18:16:50

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 :)

roman 25-03-2005 04:26:19

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

raco 01-04-2005 22:22:24

Ayuda con consulta
 
A ver si me explico :p , 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.:D

Gracias. :)

roman 01-04-2005 22:34:43

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 :presensa:nom10001

union

select * from :asimilados:nom10001

union

select * from :prestadores: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

raco 05-04-2005 21:15:02

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:mad: 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 :p , a ver si me puedes ayudar por favor y disculpen la molestia.:D

roman 05-04-2005 21:31:29

Cita:

Empezado por raco
pero no me jala con el alias, si es asi como lo debo de poner?, por que me marca error:mad:

¿Qué error te marca? ¿Por qué no escribes aquí la consulta como la usaste?

// Saludos

raco 06-04-2005 02:14:25

Consulta
 
Otra vez no me supe explicar :p , ya me funciono :D , 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 :D


La franja horaria es GMT +2. Ahora son las 11:04:52.

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