Solange die Datenbanken auf dem gleichen Server sind nur eine Quer Datenbank verwenden. Die DB-Anmeldung, die für den Zugriff auf die Daten verwendet wird, benötigt ebenfalls Berechtigungen für beide Datenbanken. Etwas wie:
SELECT AA.userID, BA.first, BA.last
FROM databasename.schema.table AA
INNER JOIN databasename.schema.table BA ON AA.userID = BA.userID
In Reaktion auf die Kommentare:
Ich glaube nicht, dass ich den Teil über mehrere Logins richtig gelesen, sorry. Sie können nicht zwei verschiedene mySQL-Logins für eine Verbindung verwenden. Wenn Sie mehrere Abfragen ausführen müssen, haben Sie wirklich nur drei Optionen. A) Durchlaufen Sie die erste Ergebnismenge und führen Sie mehrere Abfragen aus. B) Führen Sie eine Abfrage aus, die eine WHERE-Klausel mit der Benutzer-ID IN (@firstResultSet) verwendet und übergeben Sie die erste Ergebnismenge. C) Wählen Sie alles aus der zweiten DB und verbinden Sie sie in Code.
Alle drei dieser Optionen sind nicht sehr gut, also würde ich fragen, warum können Sie nicht Benutzerberechtigungen für eine der beiden DBs ändern? Ich würde auch fragen, warum sollten Sie die Namen und IDs von 20.000 Benutzern auswählen? Sofern es sich nicht um eine Art von Datenabbild handelt, würde ich nach einer anderen Möglichkeit suchen, die Daten anzuzeigen, die sowohl einfacher zu verwenden als auch weniger abfrageintensiv sind.
Alles, was gesagt wird, welche Option Sie wählen, wird auf einer Vielzahl von verschiedenen Umständen basieren. Bei einer geringen Anzahl von Datensätzen unter 1.000 würde ich Option B verwenden. Bei einer höheren Anzahl von Datensätzen würde ich wahrscheinlich die Optionen C verwenden und versuchen, die beiden Ergebnismengen in etwas zu platzieren, das verknüpft werden kann (z. B. array_combine).
Es gibt nicht einmal die _Possibility_ für ein anderes db-Konto, das Zugriff auf z. eine Ansicht, die beide Tabellen kombiniert? – VolkerK