phpbar.de logo

Mailinglisten-Archive

=?iso-8859-1?Q?Re:_Select-Query_aus_mehreren_Datenbanken_durchf=FChren?=

Re: Select-Query aus mehreren Datenbanken durchführen

Daniel Hauser mysql-de_(at)_lists.bttr.org
Wed, 19 Jun 2002 09:00:09 +0200


> Igitt, klingt ja unschoen. Schick mal Daten! Und hast Du denn probiert,
> ob das Erwartete rauskommt, wenn Du die Tabellen einzeln abfragst?
> Sabine

Wenn ich die Abfrage für jede Tabelle einzeln durchführe, funktioniert es
problemlos. Vielleicht sollte ich noch erwähnen, daß meine gesamte
Testumgebung ein Windows2000-Rechner mit MySQL 3.23.47 ist. Nachdem ich es
über die mysql-Shell versucht habe und dort dieselben Ergebnisse als über
phpMyAdmin zu bekommen sind, habe ich auch diese Fehlerquelle
ausgeschlossen. Da dieser Fehler bei mir leider reproduzierbar ist (die
erste erwähnte Tabelle wird nie berücksichtigt, die zweite als Ausgleich *g*
fehlerhaft), habe ich es mit folgenden Testdaten probiert - mit einem
ähnlichen Resultat. Die Tabelle 'mails' war in Datenbank 1 vorhanden,
Tabelle 'messages' in DB 2.

SELECT * FROM test1.mails, test2.messages WHERE test1.mails.pagetext LIKE
'%MySQLFehler%' OR test2.messages.pagetext LIKE '%MySQLFehler%';

CREATE TABLE mails (
  postid int(10) unsigned NOT NULL auto_increment,
  username varchar(50) NOT NULL default '',
  title varchar(100) NOT NULL default '',
  pagetext mediumtext,
  PRIMARY KEY  (postid)
);
INSERT INTO mails (postid, username, title, pagetext) VALUES ('', 'Daniel',
'testmessage', 'Eine Testmessage mit dem Suchbegriff: MySQLFehler');
INSERT INTO mails (postid, username, title, pagetext) VALUES ('', 'Bill
Gates', 'dummyeintrag', 'dummyeintrag aus datenbank 1');
INSERT INTO mails (postid, username, title, pagetext) VALUES ('', 'Linus
Thorvalds', 'dummyeintrag', 'noch ein dummyeintrag aus datenbank 1');

CREATE TABLE messages (
  postid int(10) unsigned NOT NULL auto_increment,
  username varchar(50) NOT NULL default '',
  title varchar(100) NOT NULL default '',
  pagetext mediumtext,
  PRIMARY KEY  (postid)
);
INSERT INTO messages (postid, username, title, pagetext) VALUES (1,
'Daniel', 'testmessage', 'Hier haben wir eine Testmessage mit dem
Suchbegriff MySQLFehler');
INSERT INTO messages (postid, username, title, pagetext) VALUES (2, 'Bill
Gates', 'dummyeintrag', 'dummyeintrag aus der zweiten datenbank');
INSERT INTO messages (postid, username, title, pagetext) VALUES (3, 'Linus
Thorvalds', 'dummyeintrag', 'dummyeintrag aus db nr 2');

Liebe Grüße,
Daniel

p.s.: Ein kleiner Gedanke meinerseits: Es mag Zufall sein, die korrekten
Datensätze aus Tabelle 2 werden jedoch in diesem Fall 3mal wiedergegeben.
Bei meinem letzten Test waren nur 2 Datensätze in der Tabelle. Da könnte
auch ein Zusammenhang bestehen.

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive