phpbar.de logo

Mailinglisten-Archive

[php] OT: mysql klausel gesucht

[php] OT: mysql klausel gesucht

Michael Borchers list at tridemail.de
Don Aug 24 14:38:11 CEST 2006


> Michael Borchers wrote:
>> SELECT contacts.*, cat.cat_id, cat.cat_val
>> FROM contacts, cat
>> WHERE
>> (cat.cat_id=14 AND cat.cat_value=144)
>> AND
>> (cat.cat_id=18 AND cat.cat_value=188)
>> etc...
>>
>> ziel ist es also alle kontakte zu finden, die genau diese kategorien
>> hinterlegt haben.
>>
>
> Hallo Michael.
>
> Ein Join ist das eigentlich schon, was du da machst. Die Anfrage liefert
> aber nichts, da das "AND" zwischen den Klammern stört. Ersetze es durch
> ein OR und es wird etwas rauskommen. Vermutlich aber noch nicht das, was
> du möchtest. Der Join oben bildet das Kreuzprodukt beider Tabellen, also
> jeder Datensatz aus contacts mit jedem Datensatz aus cat. Es fehlt noch
> die Verknüpfung der cats zu den contacts.

hast recht alex, die verknüpfung hab ich im rausch des tippens vergessen,
in meiner originalklausel ist sie natürlich enthalten.

wenn ich aber OR wähle, sucht er mir ja auch contacts raus, die zwar
cat id 14 und value 144 haben, aber nicht zwingend cat id 18 und val 188
und diese beiden cat bedingungen sollen erfüllt werden.
ich hatte schon etwas mit HAVING probiert, wollte aber nicht funzen.
es ist bestimmt doch ne größere JOIN, oder?! 


php::bar PHP Wiki   -   Listenarchive