Mailinglisten-Archive |
Hallo Daniel >Ich habe hier eine PostgresQL Datenbank in der ich für sehr viele >Produktgruppen jeweils eine Tabelle habe, in der dann die einzelnen Produkte >mit Artikelnummer, Beschreibung, Bild usw. stehen. Nun möchte ich eine >Volltext und eine Artikelnumernsuche realisieren, müßte dazu in jede der >Tabellen reinschauen ob der Text, bzw. die Nummer enthalten sind. Gibt es >eine Datenbankabfrage mit der ich in alle Tabellen reinschauen kann. Die >Datenbankstruktur kann ich leider nicht ändern und auch eine zusätzliche >Indiezierungstabelle wäre sehr umständlich... IMHO ist Deine Datenbank ruiniert. Von Anfang an hätte es nur zwei Tabellen geben dürfen. Einen Produktestamm und einen Artikelstamm. Die Tabellen hättest Du dann relational verknüpfen können und das Problem mit der Suche wäre gar nie aufgetreten. Aber weil Du schreibst, dass die Struktur nicht geändert werden kann, könntest Du es mit einem kleinen Trick versuchen: Erstelle eine neuen Tabelle, die die Namen der Artikel-Tabellen enthält. Für jede Tabelle ein Datensatz in der neuen Tabelle. Dann kannst Du die neue Tabelle öffnen und in einer while Schleife Alle Datensäte der Reihe nach abarbeiten. Mit jedem Datensatz bekommst Du den Namen einer Artikel-Tabelle und Du kannst Dir damit (Suchbegriff und Tabellenname) ein SQL Statement bauen, das Du dann ausführst. Natürlich muss so für jede Artikel-Tabelle eine einzelne Abfrage ausgeführt werden. Das ist von der Performance her nicht optimal. Das ganze ist auf alle Fälle eine Notlösung und ich hab sowas noch nie ausprrobiert. Du solltest wenn irgend möglich dir Struktur ändern. Gruss Markus
php::bar PHP Wiki - Listenarchive