phpbar.de logo

Mailinglisten-Archive

Suche in mehreren Tabellen

Suche in mehreren Tabellen

Sebastian Mendel lists at sebastianmendel.de
Mit Mai 26 18:23:00 CEST 2004


Kurt Rene schrieb:

> Suche gerade an einem wohl sehr einfachen Problem herum und finde nicht 
> den richtigen Ansatz.
> 
> Es sind mehrere Tabellen vorhanden, 3 davon sind für mein Problem relevant.
> 
> produkte
>    bezeichnung
>    beschrieb
>    produktegruppe
>    produkteuntergruppe1
>    produkteuntergruppe2
> 
> produkteuntergruppe1
>    produkteuntergruppe1
>    produgr1bez
> 
> produkteuntergruppe2
>    produkteuntergruppe2
>    produgr2bez
> 
> Nun muss ich eine Suche durch diese Tabellen machen und müsste schauen 
> ob mein Suchbegriff in der Produktebezeichung, im Beschrieb, oder in der 
> Bezeichnung einer Produkteuntergruppe vorkommt. Es ist aber leider so, 
> das gewisse Produkte nur einer Produkteuntergruppe 1, nicht aber einer 
> Produkteuntergruppe 2 zugeordnet sind. Wenn ich folgendes Query absetze 
> dann bekomme ich nicht alle erwarteten Resultate:
> 
> SELECT
> 	COUNT(*)
> FROM
> 	produkt AS prod,
> 	produktgruppe AS prodgr,
> 	produktuntergruppe1 AS produgr1,
> 	produktuntergruppe2 AS produgr2
> WHERE
> 	prod.produktgruppe=prodgr.produktgruppe AND
> 	prod.produktuntergruppe1=produgr1.produktuntergruppe1 AND
> 	prod.produktuntergruppe2=produgr2.produktuntergruppe2 AND
> 	(
> 	prod.prodbezd LIKE "%xxx%" OR
> 	prod.beschreibungd LIKE "%xxx%" OR
> 	prodgr.prodgrbezd LIKE "%xxx%" OR
> 	produgr1.produgr1bezd LIKE "%xxx%" OR
> 	produgr2.produgr2bezd LIKE "%xxx%"
> 	)
> 
> Kann mir jemand auf die Sprünge helfen, damit ich dieses Query noch so 
> hinbekomme wie ich es erwarte?

SELECT
	COUNT(*)
FROM
	produkt AS prod
LEFT JOIN
	produktgruppe AS prodgr
ON
	prod.produktgruppe = prodgr.produktgruppe
LEFT JOIN
	produktuntergruppe1 AS produgr1
ON
	prod.produktuntergruppe1 = produgr1.produktuntergruppe1
LEFT JOIN
	produktuntergruppe2 AS produgr2
ON
	prod.produktuntergruppe2 = produgr2.produktuntergruppe2
WHERE
	prod.prodbezd         LIKE "%xxx%"
OR
	prod.beschreibungd    LIKE "%xxx%"
OR
	prodgr.prodgrbezd     LIKE "%xxx%"
OR
	produgr1.produgr1bezd LIKE "%xxx%"
OR
	produgr2.produgr2bezd LIKE "%xxx%"

-- 
Sebastian Mendel (www.sebastianmendel.de)

*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com


php::bar PHP Wiki   -   Listenarchive