Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> odwołanie do innej bazy
dragossani
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Zaznaczam, że postgresa uruchomiłem pierwszy raz kilka dni temu i jestem zielony, stąd pytanie.
Jak dorwać się do kilu baz jednocześnie w jednym zapytaniu? W MySQL'u robię po prostu "SELECT tabela1.pole1, tabela2.pole2 FROM baza1.tabela1 LEFT JOIN baza2.tabela2 USING(klucz_obcy)". A w Postgresie? Taki zapis mi nie działa. W ogóle siedząc w jednej bazie nie mogę dobrać się do drugiej. Siedząc w baza1 nie mogę zrobić "SELECT * FROM baza2.tabela2". Wywala błąd: parse error at or near "."
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dragossani
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Hm, widzę że się nie rozumiemy. :?
Wejdź sobie do MySQLa. Stwórz sobie 2 bazy danych i w każdej z nich po jednej tabelce i trochę danych.
Przykładowy kod:
Kod
CREATE DATABASE baza1;

USE baza1;

CREATE TABLE tabela1 (id_tabela1 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, value VARCHAR(40) NOT NULL);

INSERT INTO tabela1 (id_tabela1, value) VALUES (NULL, 'rekord numer [1] w [tabela1] w [baza1]');

INSERT INTO tabela1 (id_tabela1, value) VALUES (NULL, 'rekord numer [2] w [tabela1] w [baza1]');

INSERT INTO tabela1 (id_tabela1, value) VALUES (NULL, 'rekord numer [3] w [tabela1] w [baza1]');

CREATE DATABASE baza2;

USE baza2;

CREATE TABLE tabela2 (id_tabela2 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, value VARCHAR(40) NOT NULL);

INSERT INTO tabela2 (id_tabela2, value) VALUES (NULL, 'rekord numer [1] w [tabela2] w [baza2]');

INSERT INTO tabela2 (id_tabela2, value) VALUES (NULL, 'rekord numer [2] w [tabela2] w [baza2]');

INSERT INTO tabela2 (id_tabela2, value) VALUES (NULL, 'rekord numer [3] w [tabela2] w [baza2]');

Następnie wydaj polecenie
Kod
USE baza1;

SHOW TABLES;

Zobaczysz, że widać tylko tabela1 - po prostu siedzisz w baza1. Możesz sobie wydać polecenie:
Kod
SELECT * FROM tabela1;
Normalka.
A teraz wydaj takie polecenie:
Kod
SELECT * FROM baza2.tabela2;
I co? Siedzisz w baza1 ale widzisz zawartość tabela2 z baza2. Jeszcze jeden przykład:
Kod
SELECT tabela1.*,tabela2.value FROM baza1.tabela1, baza2.tabela2 WHERE tabela1.id_tabela1=tabela2.id_tabela2;
. I jak? Zapytanie ciągnie dane z dwóch tabel w DWÓCH RÓŻNYCH bazach.

I teraz wróćmy do mojego pytania. Jak to zrobić w Postgresie?

PS. Te zdalne bazy na innych hostach to była taka dygresja.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 10:56