MYSQL Abfrage select aus mehreren Tabellen, um Sie nach Datum, verschiedene Tisch-Strukturen
Mache ich einen newsfeed Art der Sache und ich wollen, wählen Sie aus mehreren Tabellen. Die beiden Tabellen konzentriere ich mich auf für diese Frage sind "Beiträge" und "Fotos".
Hier ist meine Abfrage nur für Beiträge:
mysql_query("
SELECT * FROM posts
WHERE toID='$id' AND state='0'
ORDER BY id DESC LIMIT 10");
Meine posts-Tabelle hat die folgenden Spaltennamen:
Table: posts
id toID fromID post state date
1 1 1 Aloha 0 1
2 1 1 Hello 0 3
Meine Fotos-Tabelle hat die folgende:
Table: photos
id userID photo state date
1 1 2 0 2
2 1 6 0 4
Erwartete Ergebnis:
Aloha
2
Hello
6
Vielleicht so etwas wie:
SELECT *
(SELECT * FROM posts WHERE toID=$id AND state=0) AND
(SELECT * FROM photos WHERE userID=$id AND state=0)
ORDER BY date
Wenn es wählt diese aus der Datenbank, die Sie sollten wählen Sie aus, wo toID und Benutzer-id sind die gleichen. Zustand sollte gleich 0 für beide, (0 sichtbar), und Sie sollten nach Datum sortiert. Auch ich brauche eine neue variable erstellen, pass auf meine Anfrage, so kann ich dann in meiner php bestimmen, welche Tabelle die Informationen stammen. Schließlich möchte ich es, um die Gruppierung der Fotos nach Datum, so sagen wir, ein user hochgeladen hat 20 Fotos innerhalb eines Zeitraumes von 30 Minuten, Sie wird nur eine Zeile zurückgeben. Ich benutze php time() zu speichern, mein date.
InformationsquelleAutor Dylan Cross | 2012-01-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, erhalten Sie alle Beiträge und Fotos zusammen, die Sie nutzen könnten:
es gibt Beiträge und Fotos für jeden post(wenn es Sie gibt, sehen
LEFT JOIN
). Sind Sie sicher, dass Sie kopiert meine Abfrage richtig?Ja, und vielleicht ist meine Frage nicht klar genug? wenn ich 2 Beiträge (post1, post2) und 2 Fotos (Bild1, photo5), 4 Zeilen, die zurückgegeben werden sollen
können Sie bitte Bearbeiten Sie die Frage, die die Veröffentlichung dieser zwei Datensätze für jede Tabelle? Ich habe einfach versucht, meine Abfrage und funktioniert gut, so verstehe ich nicht, was falsch ist. Bearbeiten Sie Ihre Frage, damit wir sehen können was Los ist...
Ok hab ich Hinzugefügt einige Informationen und ein Beispiel
InformationsquelleAutor Marco