[MySQL]

heyho

ich steh grad vor dem problem, ich habe eine seite mit mehreren verschiedenen sachen.

zb: user, events, news!

jetzt möchte ich nen kommentarsystem für alle 3 sachen drunter setzen.
an sich kein problem, jede andere tabelle hat ne UID zur eindeutigen zurodnung meiner commentare.

wenn ich nun news anzeigen lassen, greife ich mir aus comments einfach die passende uid und eben die beiträge und habe meine ausgabe.

wenn ich mir jetzt aber die comments anzeigen lassen will, global, egal zu was geschrieben....

wie kann ich das einfach und performant selecten in der db? bis hierher müsste ich ja sowas machen wie

Code:
select c.msg,n.title from comments as c 
inner join news as n on (c.uid = n.uid)

und das nochmal für user und events. wie bekommt man sowas hin ohne dutzende queries abzusetzen, was wo dazu gehört?
 
Vielleicht Aggregierungsfunktionen/GROUP BY? Ich weiß gerade nicht, ob man da eigene Funktionen verwenden kann... auf der anderen Seite kriegst du dann ein Resultat, was genausoviele Spalten wie Kommentare hat, ob das das ist, was du willst, bezweifle ich mal.
Da du aber sowieso die ganze Tabelle ausgibst, spielt Perfomance ja eh keine große Rolle - du könntest also auch in deiner Programmiersprache (PHP?) einfach nachträglich die Tupel nach ihrer Zugehörigkeit sortieren
 
Ich weiß zwar nicht wozu die Subtabellen "News" usw. gut sein sollten weil du das eigentlich Kommentar ja unter Comments speicherst. Falls z.B. News nur eine Liste von uids ist um zu erkennen welches Kommentar unter News angezeigt werden sollte wäre es wohl leichter wenn man einfach einen Kommentartyp in Comments mitspeichert. Also eine neue Spalte type einführen mit dem Inhalt für News "N".
 
Zurück
Oben