Join über zwei Tabellen in zwei Datenbanken: Ist das möglich?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Join über zwei Tabellen in zwei Datenbanken: Ist das möglich?

    Hallo zusammen,

    folgendes Problem:

    In einer äußerst umfangreichen Query möchte ich einen Join über zwei Tabellen machen, die allerdings in unterschiedlichen Datenbanken liegen.
    Die Abfrage soll über PHP erfolgen.

    Frage:
    Ist dies unter MySQL generell möglich?
    Falls ja, wie kann ich das bewerkstelligen?

    Bin für jeden Tipp dankbar!

    Herzlichen Dank und viele Grüße
    Dan

  • #2
    Wenn die Datenbanken auf einem Server liegen ... ja!

    Du kannst jede Tabelle mit "DBname.Tablename" direkt ansprechen:

    Code:
    SELECT *
      FROM db1.table1 a
     INNER JOIN db2.table1 b
        ON a.attr1 = b.attr1
    die Verwendung von Aliasen vereinfacht dabei die Eingabe ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      @goth:
      Danke für deine Antwort. Die Datenbanken liegen auf einem Server, die Variante mit dem vorangestellten Datenbank-Namen habe ich auch so umgesetzt.

      Problem: Wenn ich mit mysql_select_db eine Datenbank für die Verbindung auswähle, findet er die andere Datenbank in der Query nicht. Wähle ich keine Datenbank aus, sagt er "No Database Selected".

      Wie kann ich denn dieses Problem umgehen?

      Viele Grüße
      Dan

      Kommentar


      • #4
        wie ist denn die Fehlermeldung? hat der User auch Zugriffsrechte an diese 2 DB?

        Kommentar


        • #5
          Hallo,

          habe inzwischen zumindest den Fehler gefunden:

          Der User hat Zugriff auf beide Datenbanken. Allerdings kann in der Join-Bedingung keine Tabelle aus einer anderen als der aktuell selektierten verwendet werden, die noch nicht explizit vorher aufgeführt worden ist. Sehr merkwürdig, in der selektierten Datenbank geht dies ohne Probleme.

          Jemand eine Idee, worauf dies basiert?

          Viele Grüße
          Dan

          Kommentar


          • #6
            Kann eigentlich nicht sein ... (ich mache sowas täglich mit meiner Resource-Datenbank) ...

            Wie sieht das Statement genau aus ... ?!
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar

            Lädt...
            X