Rootbob91
Aktiver Benutzer
- Beiträge
- 27
Guten Morgen,
ich habe aktuell 3 Tabellen:
1. tBenutzer mit folgenden Spalten:
ID (Primary, Int, Not Null, AutoInc)
2. tMails mit:
ID (Primary, Int, Not Null, AutoInc)
+ weitere..
3. tMailGesehen mit:
ID (Primary, Int, Not Null, AutoInc)
MailID -> die ID der Email die gesehen wurde
BenutzerID -> die ID des Benutzers, der sie gesehen hat
datum -> ein automatisch befüllter timestamp, wann sie gesehen wurde
Kleine Erläuterung:
Wenn sich ein Benutzer eine Mail anschaut, dann wird in der Tabelle tMailGesehen ein Eintrag vorgenommen. Dafür werden natürlich die Infos hinterlegt, wer welche Mail wann gesehen hat.
Problemstellung:
Wie schaffe ich es nun die Mails auszulesen, die noch nicht gesehen wurden?
Mein Lösungsansatz:
SELECT * FROM tMails WHERE ID NOT IN (SELECT MailID FROM tMailGesehen) AND tMailGesehen.BenutzerID <> ?
Ich bin mir sicher, dass die obere Abfrage falsch ist, aber ich komme anderweitig auch auf keine Lösung.
Es wäre nett, wenn jemand helfen könnte.
Hatte erst überlegt alles mit Subqueries zu lösen, aber in einer isses eben doch schöner.
Vielen Dank!
ich habe aktuell 3 Tabellen:
1. tBenutzer mit folgenden Spalten:
ID (Primary, Int, Not Null, AutoInc)
2. tMails mit:
ID (Primary, Int, Not Null, AutoInc)
+ weitere..
3. tMailGesehen mit:
ID (Primary, Int, Not Null, AutoInc)
MailID -> die ID der Email die gesehen wurde
BenutzerID -> die ID des Benutzers, der sie gesehen hat
datum -> ein automatisch befüllter timestamp, wann sie gesehen wurde
Kleine Erläuterung:
Wenn sich ein Benutzer eine Mail anschaut, dann wird in der Tabelle tMailGesehen ein Eintrag vorgenommen. Dafür werden natürlich die Infos hinterlegt, wer welche Mail wann gesehen hat.
Problemstellung:
Wie schaffe ich es nun die Mails auszulesen, die noch nicht gesehen wurden?
Mein Lösungsansatz:
SELECT * FROM tMails WHERE ID NOT IN (SELECT MailID FROM tMailGesehen) AND tMailGesehen.BenutzerID <> ?
Ich bin mir sicher, dass die obere Abfrage falsch ist, aber ich komme anderweitig auch auf keine Lösung.
Es wäre nett, wenn jemand helfen könnte.
Hatte erst überlegt alles mit Subqueries zu lösen, aber in einer isses eben doch schöner.
Vielen Dank!