Mailinglisten-Archive |
Korrektur! Martin Adler wrote: > Mir ist die Relation zwischen contacts und cat nicht ganz schlüssig. Aus > dem beispiel ist zumindest herauszulesen, das jede cat zu mehreren > contacts zugeordnet werden kann. Scheinbar kann jeder contact nur eine > cat haben (1:n). > Wenn jeder contact in deiner Anwendung mehrere cat's haben kann (n:m), > benötigst wie schon vorgeschlagen eine dritte Tabelle, welche die > Verknüpfungen herstellt. Ich sehe gerade es ist eine n:m Beziehung... Du brauchst definitiv eine dritte Tabelle. dann konnte der Query so aussehen. SELECT `contacts`.*, `cat`.`id`, `cat`.`val` FROM `contacts` INNER JOIN `contacts_has_cat` ON `contacts`.`id` = `contacts_has_cat`.`contacts_id` INNER JOIN `cat` ON `contacts_has_cat`.`cat_id` = `cat`.`id` WHERE (`cat`.`id` = 14 AND `cat`.`val` = 144) OR (`cat`.`id` = 18 AND `cat`.`val` = 188) Hab nun auch gesehen das eine Kategorie auch mehrere Werte enthalten kann. Diese Werte sollten im Grunde auch in eine extra Tabelle ausgelagert und mit der Kategorie verknüpft werden. So hoffe mir ist nicht wieder weiteres, wesentliches entgangen. grüße Martin
php::bar PHP Wiki - Listenarchive