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