phpbar.de logo

Mailinglisten-Archive

[dbs] wie Querys organisieren

[dbs] wie Querys organisieren

Carlo carlo97 at arcor.de
Mit Jan 14 16:07:33 CET 2009


Hallo,

zu einigen Objekten gibt es Categorien und eine Kreuztabelle um
die beiden zu verknüpfen, da ein Objekt in mehreren Categorien
vorkommen kann (1/n).
Nun möchte ich die Abfrage gerne optimieren. Derzeit frage ich
die Objekte ab und mit einem extra Query pro Objekt die passenden
Categorien dieses Objektes.
z.B.:
   SELECT ob.oID, ob.titel, kr.name, ob.descr
     FROM objects AS ob
LEFT JOIN autoren AS kr ON ob.kID = kr.kID
    WHERE ob.oID IN (17, 123, 236);

und dann noch:
   SELECT ct.cID, ct.descr FROM categorie AS ct
LEFT JOIN matrix AS ma ON ma.cID = ct.cID
    WHERE ma.oID = 17;
   SELECT ct.cID, ct.descr FROM categorie AS ct
LEFT JOIN matrix AS ma ON ma.cID = ct.cID
    WHERE ma.oID = 123;
   SELECT ct.cID, ct.descr FROM categorie AS ct
LEFT JOIN matrix AS ma ON ma.cID = ct.cID
    WHERE ma.oID = 236;

Abschliessend durchwandere ich das Ergebnis und hänge an jeden
Record, die gefundenen Categorien an.

Geht das eventuell auch direkt in SQL ?


mit bestem Gruß Carlo 



php::bar PHP Wiki   -   Listenarchive