Tabellen joinen und dann Suchanfrage

mnbvcxy

Mitglied
[edit]
achja, es ist standard MySql und php4.x
[/edit]

für eine Suchanfrage muß ich aus 2 Tabellen Werte verknüpfen

Also: Suchanfrage wäre z.b. "Hersteller Artikelname" (kommt aus dem formular)
das auseinanderdröseln etc. ist kein Problem, allerdings die Abfrage.

Die Tabellenstruktur trennt leider den Herstellernames vom Artikel. Nicht überragend, aber für eine andere Rubrik eben sinnvoll..egal.

Das ganze sieht dann so aus:

Tabelle A (Hersteller)
hat 2 Spalten
HerstellerNummer | HerstellerName

Tabelle B (Artikel)
hat 3 Spalten
HerstellerNummer | ArtikelName | ArtikelNummer

Ein Suchbegriff enthält nun aber Hersteller- und Artikelname
Wie schaff ich es, die Tabellen zu joinen, so das ich HerstellerName und ArtikelName
durchsuchen kann (so als wäre es ein Feld) und bei evtl. Treffer dann den ArtikelNamen ausgeben kann..?!

Das Joinen ansich stellt nicht das eigentliche Problem da, sondern eher, das ich die beiden Felder HerstellerName und ArtikelName nicht gleichzeitig durchsuchen kann

wenn ich z.b. nach Epson Stylus suche, so ist Epson der HerstellerName und Stylus der ArtikelName
durchsuche ich nur die eine tabelle gibts immer 0 treffer... gibt eine möglichkeit, sowas wie als wenn ich den LIKE operator mit OR oder so zu verknüpfen würde, zu bauen?

hab das gefühl ich hab grad ne denkblockade...
danke schonmal im vorraus...
 
Zuletzt bearbeitet:
Zum Beispiel so:
Code:
SELECT
 *
FROM
 tabelle_b
LEFT JOIN
 tabelle_a ON tabelle_a.HerstellerNummer = tabelle_b.HerstellerNummer
WHERE
 CONCAT_WS(' ', tabelle_a.HerstellerName, tabelle_b.ArtikelName) LIKE '%stylus%'
Grüße,
Martin
 
Jau, wunderbar, exakt das habe ich gesucht Vielen Dank!
(bis zu dem CONCAT_WS sah meine Abfrage exakt so aus, außer das ich kein SELECT * hatte..nur bei dem Where hab ichs halt nich hinbekommen..supi)

...den Befehl muss ich mir merken! :)
 

Neue Beiträge

Zurück