Hallo,
ich möchte für meine Webseite im Profil jedes Nutzers all seine Pinnwandeinträge und all seine Forumposts chronologisch angeordnet ausgeben.
Bisher ist es so, dass ich 2 Abfragen aus 2 Tabellen habe und diese nach Datum jeweils in PHP per foreach ausgebe.
Zur Lösung des Problems hätte ich mir einen SELECT gewünscht mit dem ich beide Tabellen nebeneinander anzeigen lassen kann und nach den beiden Datumsspalten sortieren lassen kann.
Prinzip:
Tabelle 1 Pinnwandposts:
pinnwand_ID
pinnwand_Datum
pinnwand_Post
Tabelle 2 Forumposts:
forum_ID
forum_Datum
forum_Post
SELECT sollte dieses Ergebnis bringen:
Datum
pinnwand_ID
pinnwand_Post
forum_ID
forum_Post
Sinn wäre danach per foreach wieder alle reihen durchzugehen und je nachdem ob es ein Forumpost/Pinnwand Eintrag ist die jeweilige Anzeige auszugeben.
Union allein geht nicht, weil die Spalten ja nebeneinander angezeigt werden sollten. Ich vermute stark, dass mir der FULL JOIN weiter hilft. Aber ich weiss dort nicht wie ich die Datumsfelder "mergen" kann. Also eine Kombination von FULL JOIN und UNION. Aber ich bekomme es einfach nicht richtig hin.
edit: Nein, da braucht man auch ne Relation. Ich vermute das es da keine SQL Abfrage gibt ohne Relation?
Hat wer sonst noch eine Idee wie ich dies realisieren könnte mit SQL/PHP/HTML, falls das nicht klappt?
MfG Topo
ich möchte für meine Webseite im Profil jedes Nutzers all seine Pinnwandeinträge und all seine Forumposts chronologisch angeordnet ausgeben.
Bisher ist es so, dass ich 2 Abfragen aus 2 Tabellen habe und diese nach Datum jeweils in PHP per foreach ausgebe.
Zur Lösung des Problems hätte ich mir einen SELECT gewünscht mit dem ich beide Tabellen nebeneinander anzeigen lassen kann und nach den beiden Datumsspalten sortieren lassen kann.
Prinzip:
Tabelle 1 Pinnwandposts:
pinnwand_ID
pinnwand_Datum
pinnwand_Post
Tabelle 2 Forumposts:
forum_ID
forum_Datum
forum_Post
SELECT sollte dieses Ergebnis bringen:
Datum
pinnwand_ID
pinnwand_Post
forum_ID
forum_Post
Sinn wäre danach per foreach wieder alle reihen durchzugehen und je nachdem ob es ein Forumpost/Pinnwand Eintrag ist die jeweilige Anzeige auszugeben.
Union allein geht nicht, weil die Spalten ja nebeneinander angezeigt werden sollten. Ich vermute stark, dass mir der FULL JOIN weiter hilft. Aber ich weiss dort nicht wie ich die Datumsfelder "mergen" kann. Also eine Kombination von FULL JOIN und UNION. Aber ich bekomme es einfach nicht richtig hin.
edit: Nein, da braucht man auch ne Relation. Ich vermute das es da keine SQL Abfrage gibt ohne Relation?
Hat wer sonst noch eine Idee wie ich dies realisieren könnte mit SQL/PHP/HTML, falls das nicht klappt?
MfG Topo
Zuletzt bearbeitet: