Re: Consulta..!!

From: Edwin Perez Lozano <edwinandperez(at)gmail(dot)com>
To: Douglas Escobar <douglas(at)liztex(dot)com>
Cc: lista de correo PostgreSQL <" pgsql-es-ayuda"(at)postgresql(dot)org>
Subject: Re: Consulta..!!
Date: 2006-11-09 20:31:29
Message-ID: 1163104289.20863.20.camel@desarrollo3.aeroenvios.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El jue, 09-11-2006 a las 11:44 -0600, Douglas Escobar escribió:
> Hola Lista,
>
> Me gustaria molestarlos de nuevo quiero hacer la siguiente consulta
> desde el Pg_admin
>
> por ejemplo, desde datacomp, hacemos esta consulta:
>
> Select * from ccnotacanje where lzproveedor = 1;
>
>
>
> Desde la base de datos dbcentral tenemos la siguiente consulta:
>
> Select * from lzproveedor;
>
>
>
> Entonces lo que deseamos hacer es lo siguiente, algo asi:
>
>
>
> Select * from datacomp.ccnotacanje, dbcentral.lzproveedor
>
> Where
> datacomp.ccnotacanje.lzproveedor=dbcentral.lzproveedor.lzproveedor
>
> And datacomp.ccnotacanje.lzproveedor=1;
>
>
>
> Pero como en pgadmin, en el visor solo deja hacer select o consultas,
> sobre una base seleccionada, si estamos con dbcentral, solo deja
> consultar tablas de dbcentral, y en datacomp lo mismo, solo tablas de
> datacomp.
>
>
>
> Como podria hacerlo,
>
>
>
> De antemano Gracias
>
>
>
> Douglas Escobar

indiferente de que la otra base de datos se encuentre en la misma
maquina o en otra, dblink cumpliria con lo que necesitas.. un pequeño
ejemplo:
NOTA: Tener en cuenta que debes tener instalado el dblink, ya te han
dicho como y en la red hay mucha info tambien.

template1=# create view tabla1 as
select *
from dblink('hostaddr=192.168.2.X dbname=prueba user=postgres password=pgsql','select campo1, campo2, campo3, campo4, campo5, campo6 from campos')
as t1(campo1 integer, campo2 date, campo3 real, campo4 numeric, campo5 integer, campo6 integer);

CREATE VIEW

template1=# select * from tabla1;
campo1 | campo2 | campo3 | campo4 | campo5 | campo6
--------+-------------+--------+--------+--------+---------
1 | 2006-01-01 | 1 | 2 | 1 | 1
12 | 2006-12-02 | 5 | 5 | 2 | 3
(2 filas)

y luego puedes hace un inner join con la tabla que necesites:
template1=# select *
template1-# from tabla1 a join uno b on (a.campo1=b.campo);

campo1 | campo2 | campo3 | campo4 | campo5 | campo6 | campo | campo2
-------+-------------+--------+--------+--------+--------+-------+--------
1 | 2006-01-01 | 1 | 2 | 1 | 1 | 1 | uno
12 | 2006-12-02 | 5 | 5 | 2 | 3 | 12 | doce
(2 filas)

y listo.. creo que ese seria una forma de hacerlo (o almenos como para
hacer la prueba)

En windows a la hora de realizar la instalacion de postgres uno puede
indicar que paquetes desea instalar entre esos se encuentra dblink.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Espartano 2006-11-09 20:35:07 Re: Hosting con PostgrSQL en Chile
Previous Message ing_enriquebarrios 2006-11-09 20:25:08 dblink/connect windows