Ich habe 3 MySQL-Tabellen, die Folgendes darstellen: Fotos, die ein Benutzer postet, Videos, die ein Benutzer postet, Kommentare, die ein Benutzer postet, und ich muss die 10 (20, 30, 40 ...) neuesten Aktivitäten des Benutzers anzeigen.
Die Tabelle auf den Fotos kann zum Beispiel folgendermaßen aufgebaut sein:
user_id | photo_id | photo_path | photo_name | date_added
5 | 18 | /photos | pht_18.png | 2009-02-12
5 | 21 | /photos | pht_21.png | 2009-02-15
5 | 29 | /photos | pht_29.png | 2009-03-30
die Video-Tabelle
user_id | video_id | video_url | date_added
5 | 36 | youtube.com/... | 2009-01-09
5 | 48 | youtube.com/... | 2009-02-18
5 | 90 | youtube.com/... | 2009-03-19
die Kommentartabelle
user_id | comment_id | comment | date_added
5 | 6 | hi! | 2009-02-11
5 | 11 | great photo | 2009-02-13
5 | 19 | nice shot! | 2009-03-28
Wie Sie sehen können die 3 Tabellen haben unterschiedliche Anzahl von Attributen, so wie kann ich die Vereinigung zu tun? und beim Abrufen des Abfrageergebnisses wie kann ich verstehen, zu welcher Tabelle es gehört?
So in der Benutzerprofilseite möchte ich seine jüngsten Aktivitäten natürlich nach DATE DESC auf diese Weise geordnet anzeigen:
2009-09-01: user posted a video
2009-11-02: user posted a comment
2009-12-02: user posted a photo
2009-13-02: user posted a comment
2009-15-02: user posted a photo
2009-18-02: user posted a video
2009-19-03: user posted a video
2009-28-03: user posted a comment
2009-30-03: user posted a photo
Kann mir bitte jemand helfen?
0 Stimmen
Wahrscheinlich sollten Sie Ihre Frage bearbeiten, um zu zeigen, dass die verschiedenen Tabellen einige eindeutige Spalten haben, wie in Ihrem Kommentar unten angegeben.