getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 30.11.2004, 14:43   #1
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein

[mysql] zwei datenbanken miteinander verknuepfen


hi tpler,

ich weiss ... jetzt uebertreibe ich

aber gibts ne chance, im mysql in einer abfrage daten aus zwei unterschiedlichen datenbanken abzufragen? sowas wie ein join ueber 2 db´s?

gruss,
hardy
theo ist offline   Mit Zitat antworten


Alt 30.11.2004, 14:47   #2
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Hallihallo!

Theoretisch kann man den Namen der Tabellen einfach mit einem Prefix der jeweiligen Datenbank versehen: dbname.tabelle.feld

Hab das aber noch nie gebraucht, daher nur Theoretisch

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 30.11.2004, 15:02   #3
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
gruess dich jan

dann wird bestimmt es besser sein, auf mysql_select_db() vorher zu verzichten oder?!

was ist eigentlich mir USE ? gaebe es da vielleicht eine moeglichkeit?


aber eins hab ich ja bereits gelernt: ignoriere niemals einen moderator!
also ich probiers erstmal aus
theo ist offline   Mit Zitat antworten
Alt 30.11.2004, 15:09   #4
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein

kleiner zwischenstand:


es geht nicht
theo ist offline   Mit Zitat antworten
Alt 30.11.2004, 15:22   #5
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
doch.
Stuck Mojo ist offline   Mit Zitat antworten
Alt 30.11.2004, 15:25   #6
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
code herzeigen!!!
theo ist offline   Mit Zitat antworten
Alt 30.11.2004, 15:27   #7
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
nu isser schonwieder weg. Zeig deinen und wir machen ihn "heile"
Stuck Mojo ist offline   Mit Zitat antworten
Alt 30.11.2004, 15:34   #8
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
also ich hab jetzt mehrere versionen ausprobiert. und die hier "scheint" mir vielleicht am logischsten:
PHP-Code:
SELECT accomoID,roomID,quantity,startDate,endDate,normalPrice,
rebate,rebatekind,firmDID,
SUM(TO_DAYS(endDate)-TO_DAYS(startDate)) AS nights,
DATE_FORMAT(startDate'%d.%m.%Y') AS start
FROM accomo 
WHERE accomoID 
".$accomoID." 
GROUP BY accomoID;
SELECT name
FROM cms
.data
WHERE did 
".$_SESSION['firmDID']." 
also das statement unterteilen und einen zweiten select einbinden.
aber egal ... gab ueberall nur fehlermeldungen.
theo ist offline   Mit Zitat antworten
Alt 30.11.2004, 16:57   #9
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
Zitat:
Zitat von Stuck Mojo
doch.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 30.11.2004, 17:10   #10
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
bei mir haut es nicht hin. zumindest nicht so wie oben.
warum krieg ich eigentlich immer die fehlermeldungen?



ps: das wird mein wochen-lieblings-thread
wie frueher ... stuck mojo, longfang und ... theo
theo ist offline   Mit Zitat antworten
Alt 30.11.2004, 17:27   #11
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Vergib mal ein paar Aliase und benutzt diese auch in den Spaltennamen... muss leider weg. Sonst wäre es detailierter geworden

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 30.11.2004, 17:33   #12
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
na klasse ... laesst mich ratloser zurueck, als ich vorher war und geht. so wird das nix mit uns
theo ist offline   Mit Zitat antworten
Alt 30.11.2004, 21:32   #13
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
...eehhh wollte mich gerade an deinen Query machen und sehe, dass du da so eine Art Union-Select machen willst... ist das Richtig? Dein Query würde so wie er jetzt ist 2 Resultsets liefern = unmöglich mit einem mysql_query() abzufragen. (evtl. mit dieser neuen mysqli?)

Hier mal ein gaanz simples Beispiel um Datenbankübergreifend zu Joinen:
Code:
SELECT tbl1.name, tbl2.testfeld
    FROM datenbank1.tabellennameA tbl1
    LEFT JOIN datenbank2.tabellennameB tbl2 ON tbl1.user_id = tbl2.user_id
Das ganze kann man natürlich auch ohne Aliase (schreibt man das so?) machen...

@UNION-SELECT: http://dev.mysql.com/doc/mysql/de/UNION.html

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 30.11.2004, 22:13   #14
TP-Specialist
 
Benutzerbild von theo
 
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
theo bringt sich richtig ein
hab erstmal vielen dank!

ich werd mir das ganze mal in ruhe ansehen. aber wie du weisst quaehlt mich erstmal ein anderes problem etwas mehr.

hardy
theo ist offline   Mit Zitat antworten
Alt 01.12.2004, 00:57   #15
TP-Supporter
 
Registriert seit: Apr 2001
Judi macht alles soweit korrekt
Zitat:
Zitat von Stuck Mojo
Hallihallo!

Theoretisch kann man den Namen der Tabellen einfach mit einem Prefix der jeweiligen Datenbank versehen: dbname.tabelle.feld

Hab das aber noch nie gebraucht, daher nur Theoretisch

Gruss
Jan
Mit der Theorie liegst Du glaube ich nicht so falsch.

Ich kann z.B. eine Verbindung über 2 Datenbanken im ASP-Script herstellen, wo ich die unterschiedlichen Pfade zur Datenbank in Variablen speichere, diese dann halt vor die entspr. Tabelle setze. Dies läuft allerdings nur über den Pfad zur Datenbank.

Ich nutze in ASP solche Verbindungen unterschiedlicher Datenbanken eigentlich sehr häufig und verbinde sie untereinander. z.B. habe ich Datenbanken, wo nur wenig an Daten verändert wird und andere, wo ständig Betrieb ist.

In MySQL und php habe ich solche Konstrukte allerdings auch noch nicht realisieren können.

Code:
 seminarDB = Server.MapPath(".") & ("\..\_Database\seminar.mdb") & ";" 
 pubDB   = Server.MapPath(".") & ("\..\_Database\pub.mdb") & ";" 
 
 sql = "SELECT seminar.[KursID] as ID, seminar.themen as Thema, 's' as Zuordnung, "
 sql = sql & "seminar.kurztext as Ausgabe, seminar.bildungspunkte as Zusatz "
 sql = sql & "FROM " & seminarDB & ".seminar "
 sql = sql & "where seminar.beginn>=Date() and seminar.themen like '%" & gesamtsuche & "%' "
 sql = sql & "Union "
 sql = sql & "SELECT dokumente.dokID as ID, dokumente.dokumente_ueber as Thema, 'd' as Zuordnung, "
 sql = sql & "dokumente.doc_inhalt as Ausgabe, dokumente.autor as Zusatz "
 sql = sql & "FROM " & pubDB & ".dokumente "
sql = sql & "where dokumente.seminarbericht=true and dokumente.beschreibung like '%" & gesamtsuche & "%' "
sql = sql & "order by Thema DESC"
Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open SQL, objConn,3,3
    ....
Ich weiss jetzt nicht, wie es bei der neuen mySQL-Version ist, aber ich weiss bei Access, dass bei einer Union-Anweisung die Feldbezeichnungen der Tabellen übereinstimmen müssen (wenn dies nicht der Fall ist, sollten Aliase verwendet werden, habe ich auch oben gemacht) ist aber hier schon geschrieben worden.

Ohne Union-Möglichkeit und ohne, dass die Tabellen eine Beziehung zueinander haben, wirst Du kaum über eine Connection mehrere Tabellen in einem Statement ausgeben können.
__________________
Liebe Grüße, die Judi!
Judi ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[mysql] zwei datenbanken miteinander verknuepfen [mysql] zwei datenbanken miteinander verknuepfen
« [PHP]DB per script erstellen | MySQL- Anzahl der Kategorien auslesen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zwei Monitore - neuester Stand? Rea Hardware 42 16.10.2007 19:44
tabellen miteinander verknuepfen - inhalte von der einen in der anderen anzeigen mimamo Traum-Dynamik 2 19.02.2004 15:45
Verkaufe zwei PC-Spiele Schreibdienst TP Flohmarkt 1 07.10.2003 01:15
zwei abfragen miteinander verknuepfen theo Traum-Dynamik 14 28.11.2002 14:28
Zwei Ebenen, und dann??? ChrisHC Flash 4 20.05.2002 12:37


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:49 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20