Hallo,
Ik wil een lastige MySQL-join maken, maar ik weet niet of het mogelijk is, en zo ja, op welke manier het kan.
Ik heb een database met daarin de volgende MySQL-tabel:
Hierin staan gebruikers (die zich ergens voor hebben aangemeld), die over verschillende databases zijn verspreid. Kolom 'db' bevat de database waarin de gebruiker staat, en kolom 'id' het id-nummer van de gebruiker binnen de database 'db'. Bijvoorbeeld:
De databases 'foo' en 'bar' zijn databases met onder andere de volgende MySQL-tabel:
De tabel foo.gebruikers bevat:
De tabel bar.gebruikers bevat:
Nu wil ik graag met één query het volgende krijgen:
Ik stel me voor dat een dergelijke query er als volgt uitziet:
Dit werkt natuurlijk niet, maar zoiets zou ik wel graag hebben.
Weet iemand of dit mogelijk is, en zo ja, op welke manier het kan? Alvast heel erg bedankt!
Jeroen
Ik wil een lastige MySQL-join maken, maar ik weet niet of het mogelijk is, en zo ja, op welke manier het kan.
Ik heb een database met daarin de volgende MySQL-tabel:
code:
1
2
3
4
| CREATE TABLE `aanmeldingen` ( `db` varchar(64) NOT NULL default '', `id` int(10) NOT NULL default '0' ) |
Hierin staan gebruikers (die zich ergens voor hebben aangemeld), die over verschillende databases zijn verspreid. Kolom 'db' bevat de database waarin de gebruiker staat, en kolom 'id' het id-nummer van de gebruiker binnen de database 'db'. Bijvoorbeeld:
code:
1
2
| INSERT INTO `aanmeldingen` VALUES ('foo', 4);
INSERT INTO `aanmeldingen` VALUES ('bar', 23); |
De databases 'foo' en 'bar' zijn databases met onder andere de volgende MySQL-tabel:
code:
1
2
3
4
| CREATE TABLE `gebruikers` ( `id` int(10) NOT NULL default '0', `naam` varchar(127) NOT NULL default '' ) |
De tabel foo.gebruikers bevat:
code:
1
| INSERT INTO `gebruikers` VALUES (4, 'Jan'); |
De tabel bar.gebruikers bevat:
code:
1
| INSERT INTO `gebruikers` VALUES (23, 'Piet'); |
Nu wil ik graag met één query het volgende krijgen:
code:
1
2
3
4
| id naam ------------ 4 Jan 23 Piet |
Ik stel me voor dat een dergelijke query er als volgt uitziet:
code:
1
2
3
4
5
| SELECT aanmeldingen.id, `db`.gebruikers.naam FROM aanmeldingen LEFT JOIN `db`.gebruikers ON aanmeldingen.id = `db`.gebruikers.id ORDER BY `db`.gebruikers.naam |
Dit werkt natuurlijk niet, maar zoiets zou ik wel graag hebben.
Weet iemand of dit mogelijk is, en zo ja, op welke manier het kan? Alvast heel erg bedankt!
Jeroen
[ Voor 7% gewijzigd door Jeeeroen op 04-04-2006 18:59 ]