Frage

Sagen wir, ich 2 Tabellen, Nachricht und Produkt. Jedes Mal, wenn ein Benutzer ein neue Produkte oder Nachrichten veröffentlichen können Benutzer, die auf die jeweiligen Benutzer anmelden müssen ihr Futter updated.It zu Facebook-Feed ähnlich ist.

Das Problem ist, wie die Datensätze aus zwei verschiedenen Tabellen zu kombinieren, Nachricht und Produkt, einen News-Feed zu machen, das Futter nach dem Datum sortiert werden muss geschrieben.

Ich denke, es ist schwer zu tun mit rein SQL, oder vielleicht muss ich einen anderen Tisch und neue Zeile einzufügen, wenn ein neues Produkt oder eine Nachricht erstellt wird?

Dank für das Lesen, kann hoffentlich hier etwas Hilfe bekommen, thnx !!

War es hilfreich?

Lösung

Finden gemeinsame Dinge zu Nachricht und Produkt , zum Beispiel sind sie beide Typ einer Post , so dass Sie so etwas wie haben:
post_model_01
Post-Tabelle hat Spalten, die für alle Beiträge; Nachricht und Produkttabellen haben nur zu jedem Spalte spezifisch.


UPDATE

Um Nachrichten (geändert nach 2009-11-10 15:00)

SELECT * 
  FROM Message AS m
  JOIN Post as AS p ON p.PostID = m.PostID
WHERE p.LastChanged > '2009-11-10 15:00'

Um Produkte (geändert nach 2009-11-10 15:00)

SELECT * 
  FROM Product AS d
  JOIN Post as AS p ON p.PostID = d.PostID
WHERE p.LastChanged > '2009-11-10 15:00'

Um alle in einer Tabelle mit NULLS in Spalten zu erhalten, die gilt nicht für die Nachricht oder ein Produkt.

SELECT * 
  FROM Post AS p
  LEFT JOIN Message AS m p.PostID = m.PostID
  LEFT JOIN Product AS d ON p.PostID = d.PostID
WHERE p.LastChanged > '2009-11-10 15:00'

Andere Tipps

diese in SQL zu tun, möchten Sie eine Join-Tabelle tun. In diesem Fall möchten Sie Nachricht und Produkt von User verbinden.

Hier ist ein Link zu einer Seite auf Coding Horror, das die beste Erklärung ist der Joins, die ich gesehen habe, reiht sich in eine visuelle Erklärung von SQL

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top