Innerhalb mehrere mysql Tabellen suchen
-
- Posts: 46
- Joined: 2007-02-11 23:39
Innerhalb mehrere mysql Tabellen suchen
Hallo,
ich habe eine MySQL-Datenbank mit mehreren Tabellen (ca. 50 Tabellen). Ich möchte innerhalb der Datenbank, in 40-Tabellen nach einem Zeichenkette (WHERE feld1 LIKE ’%suchwort%’) suchen.
SELECT f1,f2,f3 FROM … tab1,tab2,… tab40 WHERE … LIKE ’%suchwort%’
Könnte mir jemand bitte sagen, wie kann ich dieses am besten machen.
Vielen Dank im Voraus.
Gruß, Sandro
ich habe eine MySQL-Datenbank mit mehreren Tabellen (ca. 50 Tabellen). Ich möchte innerhalb der Datenbank, in 40-Tabellen nach einem Zeichenkette (WHERE feld1 LIKE ’%suchwort%’) suchen.
SELECT f1,f2,f3 FROM … tab1,tab2,… tab40 WHERE … LIKE ’%suchwort%’
Könnte mir jemand bitte sagen, wie kann ich dieses am besten machen.
Vielen Dank im Voraus.
Gruß, Sandro
-
- Posts: 23
- Joined: 2008-04-10 18:58
- Location: Südoldenburger Land
Re: Innerhalb mehrere mysql Tabellen suchen
Am einfachsten wird es wohl sein, alle Tabellen in der Suchanfrage zu benennen.
-
- Posts: 46
- Joined: 2007-02-11 23:39
Re: Innerhalb mehrere mysql Tabellen suchen
Hallo,
Kannst du vielleicht etwas genauer schreiben, oder mal kurz den syntax dazu schreiben, z.B. SELECT …
Gruß, Sandro
Kannst du vielleicht etwas genauer schreiben, oder mal kurz den syntax dazu schreiben, z.B. SELECT …
Gruß, Sandro
-
- Administrator
- Posts: 5924
- Joined: 2004-05-23 12:53
Re: Innerhalb mehrere mysql Tabellen suchen
Die Syntax hast du in deinem ersten Beitrag doch schon weitgehend korrekt.
-
- Posts: 46
- Joined: 2007-02-11 23:39
Re: Innerhalb mehrere mysql Tabellen suchen
Ich erhalte aber bei so einem SQL-Statement (siehe unten) ca. 8500 Datensätze selektiert! Obwohl in der Tabelle jeweils ca. 50 Datensätze vorhanden sind!
Gruß, Sandro

Gruß, Sandro
Code: Select all
SELECT Tab1.Feld1, Tab2.Feld1
FROM Tab1, Tab2 WHERE ((Tab1.Feld1 like '%suchwort%') OR
(Tab2.Feld1 like '%suchwort%'))";
-
- Administrator
- Posts: 5924
- Joined: 2004-05-23 12:53
Re: Innerhalb mehrere mysql Tabellen suchen
Beschreib doch mal, was du genau vorhast.
-
- Posts: 46
- Joined: 2007-02-11 23:39
Re: Innerhalb mehrere mysql Tabellen suchen
Also, ich habe eine MySQL-Datenbank mit mehreren Tabellen (ca. 50 Tabellen). Ich möchte innerhalb der Datenbank, in 40-Tabellen nach einer Zeichenkette suchen können.
Zum Beispiel wird es in einem Eingabefeld das Wort “Buch“ eingegeben, dann soll innerhalb der Tabellen (40-Tabellen) nach diesem Begriff gesucht werden. (Es handelt sich um ein Shop-System mit ca. 40-Kategorien)
Alle Tabellen sind identisch aufgebaut. Ich möchte jeweils in drei Feldern der Tabellen suchen.
Mein SQL-Statement wird wirklich sehr lang!
Gibt es vielleicht eine bessere Möglichkeit?
Gruß, Sandro
Zum Beispiel wird es in einem Eingabefeld das Wort “Buch“ eingegeben, dann soll innerhalb der Tabellen (40-Tabellen) nach diesem Begriff gesucht werden. (Es handelt sich um ein Shop-System mit ca. 40-Kategorien)
Alle Tabellen sind identisch aufgebaut. Ich möchte jeweils in drei Feldern der Tabellen suchen.
Code: Select all
SELECT
Tab1.Feld1, Tab2.Feld1… Tab40.Feld1
Tab1.Feld2, Tab2.Feld2… Tab40.Feld2
Tab1.Feld3, Tab2.Feld3… Tab40.Feld3
FROM
Tab1, Tab2 … Tab40
WHERE (
(Tab1.Feld1 like '%suchwort%') OR
(Tab2.Feld1 like '%suchwort%') OR
…
(Tab40.Feld1 like '%suchwort%') OR
(Tab1.Feld2 like '%suchwort%') OR
(Tab2.Feld2 like '%suchwort%') OR
…
(Tab40.Feld2 like '%suchwort%') OR
(Tab1.Feld3 like '%suchwort%') OR
(Tab2.Feld3 like '%suchwort%') OR
…
(Tab40.Feld3 like '%suchwort%') OR
)";
Mein SQL-Statement wird wirklich sehr lang!

Gruß, Sandro
-
- Administrator
- Posts: 5924
- Joined: 2004-05-23 12:53
Re: Innerhalb mehrere mysql Tabellen suchen
http://sphinxsearch.com/
Wenn du für n Kategorien n verschiedene Tabellen mit identischem Schema führst, solltest du dein Datenbanklayout lieber nochmal überdenken. Was würdest du bspw. bei 100 Kategorien machen, oder bei 1000?
Wenn du für n Kategorien n verschiedene Tabellen mit identischem Schema führst, solltest du dein Datenbanklayout lieber nochmal überdenken. Was würdest du bspw. bei 100 Kategorien machen, oder bei 1000?
-
- Posts: 46
- Joined: 2007-02-11 23:39
Re: Innerhalb mehrere mysql Tabellen suchen
Danke für den Hinweis. Die Kategorien haben selbst Unterkategorien und die Tabellen können wirklich sehr groß werden. Daher habe ich mich für so eine Struktur entschieden.
Gruß, Sandro
Gruß, Sandro
-
- Project Manager
- Posts: 11139
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Innerhalb mehrere mysql Tabellen suchen
Wie sieht denn das Schema einer dieser Tables aus?
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 23
- Joined: 2008-04-10 18:58
- Location: Südoldenburger Land
Re: Innerhalb mehrere mysql Tabellen suchen
Tabellen dürfen ja auch gerne riesig werden. Für MySQL sollte das kein Thema sein.
Das heißt: Alle Kategorien werden in einer Tabelle zusammengefasst, ggf. mit mehreren Primärschlüsseln, wenn man will. DAS macht alles einfacher, nicht das Auslagern in mehreren Tabellen.
Das heißt: Alle Kategorien werden in einer Tabelle zusammengefasst, ggf. mit mehreren Primärschlüsseln, wenn man will. DAS macht alles einfacher, nicht das Auslagern in mehreren Tabellen.
-
- Project Manager
- Posts: 11139
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Innerhalb mehrere mysql Tabellen suchen
Produktbeschreibungen und Bewertungen sowie andere TEXT/BLOB-Felder lagert man aus, aber keine Kategoriern...
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 471
- Joined: 2003-08-21 10:21
- Location: Berlin
Re: Innerhalb mehrere mysql Tabellen suchen
Sandro wrote:Zum Beispiel wird es in einem Eingabefeld das Wort “Buch“ eingegeben, dann soll innerhalb der Tabellen (40-Tabellen) nach diesem Begriff gesucht werden. (Es handelt sich um ein Shop-System mit ca. 40-Kategorien)
Lies
http://katze-mit-wut.azundris.com/index ... erendipity[lang_selected]=de bzw
http://www.azundris.com/hacks/text/nermalisierung.txt
Eine Tabelle pro Kategorie ist hanebüchener Unsinn.