php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-03-2005, 13:17
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 3.134
Quetschi wird schon bald berühmt werden
Standard [MySql] Wie Tabellen zweier Datenbanken Joinen?

Hallo Leute,

Google und Forumssuche hab ich ausführlich benutzt, find aber nicht so recht die passende Antwort.

Mein Problem ist das ich Daten aus 2 Tabellen die auf unterschiedlichen Datenbanken liegen abfragen (über PHP) muss.

Mit einem Join dürfte ich meines Wissens nach nicht weit kommen, soweit ich weis wird das bei MySql nicht datenbankübergreifend unterstützt.

Nun bin ich am überlegen wie ich das Problem Client-seitig (PHP) am besten umgehe. Ich hätte 2 Lösungsansätze weiß jedoch nicht welchem ich den Vorzug geben soll:

1. ich lese eine Tabelle komplett aus und lade sie als Temporäre HEAP-Tabelle in die andere Datenbank und führe hier erst den Join auf die 2. Tabelle aus wenn ich die eigentliche Abfrage ausführe.

2. Ich führe erst die eigentliche Abfrage aus und 'sammle' sozusagen die ID's der Ergebnisdatensätze und frage mit diesen ID's dann die 2. Tabelle ab.

Beide Lösungen sind meiner Meinung nach etwas ungelenk um nicht zu sagen unprofessionell, darum frage ich euch was ihr meint welches das kleinere Übel wäre???

Oder kennt jemand von euch einen professionelleren Weg??

Vielen Dank für euere Hilfe

Gruss
Quetschi
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 15-03-2005, 13:32
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard Re: [MySql] Wie Tabellen zweier Datenbanken Joinen?

Zitat:
Original geschrieben von Quetschi
Mit einem Join dürfte ich meines Wissens nach nicht weit kommen, soweit ich weis wird das bei MySql nicht datenbankübergreifend unterstützt.
Ausprobiert?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #3 (permalink)  
Alt 15-03-2005, 13:33
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Klar geht das mit nem Join....

SELECT * FROM datenbankname.tabellenname LEFT JOIN datenbankname2.tabellenname ON datenbankname2.tabellenname.spaltenname = datenbankname.tabellenname.spaltenname
Mit Zitat antworten
  #4 (permalink)  
Alt 15-03-2005, 14:21
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 3.134
Quetschi wird schon bald berühmt werden
Standard

Danke für die Antworten

Auf das, dass man im Statement auch die Datenbanknamen mit angeben kann wär ich nie gekommen, weil keines meiner Bücher so etwas behandelt.

Allerdings klappt mir das jetzt noch nicht so recht.

Hier mal ein exemplarisches Codebeispiel wie das bei mir nun aussieht:

PHP-Code:
$db1 db_conn1();
$db2 db_conn2();
    
$query "SELECT * FROM db1.bw_adressen LEFT JOIN db2.pauschalen
ON db1.bw_adressen.ID = db2.pauschalen.ID_bw_adressen
WHERE db1.bw_adressen.ID = 8"
;

$res mysql_query($query); 
mysql_error() sagt mir folgendes:

Access denied for user: 'dbxxx@%' to database 'dbyyy'

Ich hab ja leider keinen Benutzer zur Verfügung mit dem ich auf beiden Datenbanken lesen könnte, sondern ich muss mit 2 Verbindungskennungen arbeiten.

eine der Verbindungskennungen bei mysql_query() zu verwenden bringt mich ja auch ned weiter und mehr als eine darf ich ja nicht angeben.

Gibts da trotzdem eine Möglichkeit??

Gruss
Quetschi
Mit Zitat antworten
  #5 (permalink)  
Alt 15-03-2005, 14:28
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Na das sind ja ganz andere Voraussetzungen.

Wenn du keinen Benutzer hast, der auf beiden Datenbanken Leserechte besitzt, dann musst du dir wohl oder übel die Rechte besorgen, oder die Tabelle auslesen, als temp. Tabelle in die andere DB packen und dann joinen.

Hättest du aber auch ruhig früher schreiben können


P.S. Ich hab mal davon gehört, dass angeblich in Büchern nicht immer alles steht...
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #6 (permalink)  
Alt 15-03-2005, 14:35
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 3.134
Quetschi wird schon bald berühmt werden
Standard

Sorry, das war mir nicht von vornherein klar dass das Vorraussetzung ist. Hätt ich das gewusst wär ich wahrscheinlich gar ned hier gelandet

Mal sehen ob Strato (bitte kein Komentar ) gewillt ist mir einen entsprechenden User einzurichten. Die Datenbanken würden schließlich auf dem gleichen Server (Business) liegen aber leider hab ich keine Möglichkeit die User selbst zu verwalten sonst wär ich eh längst anders vorgegangen.

Trotzdem Vielen Dank ein klein wenig schlauer bin ich ja wieder geworden.

Quetschi
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:48 Uhr.