Aloha
Prinzipiell würde ich das etwas anders angehen, da beide Tabellen im Grunde ja die gleiche Art von Informationen enthalten.
Ungefähr in der Richtung:
Tabelle 1: "SMS-Archiv"
- "ID" (Integer PrimaryKey AutoIncrement)
- "ID_Sender" (Integer ForeignKey References "Personen")
- "ID_Empfänger" (Integer ForeignKey References "Personen")
- "Datum" (Date) [oder auch Datetime]
- "Inhalt" (Text)
Tabelle 2: "Personen"
- "ID" (Integer PrimaryKey AutoIncrement)
- "Name" (Varchar)
- (hier kannst Du noch andere Dinge wie Telefonnummer oder wasauchimmer speichern)
Beispieleinträge:
Tabelle 2:
<AutoWert> (angenommen 0) - "Ich"
<AutoWert> (angenommen 1) - "Du"
Tabelle 1:
<AutoWert> - 0 - 1 - 05.05.2010 - "Hallo"
<AutoWert> - 1 - 0 - 06.05.2010 - "Hallo auch"
<AutoWert> - 0 - 1 - 06.05.2010 - "Wie gehts"
<AutoWert> - 1 - 1 - 07.05.2010 - "Gut"
Deine Korrespondenz mit einer bestimmten Person könntest Du dann beispielsweise so abfragen, indem Du beim Aufrufen der Abfrage den Namen der entsprechenden Person eingibst:
Code: Alles auswählen
SELECT
"a"."Name" AS "Von", "b"."Name" AS "An", "Datum", "Nachricht"
FROM
"Personen" "a", "Personen" "b", "SMS-Archiv"
WHERE
"SMS-Archiv"."ID_Sender" = "a"."ID" AND "SMS-Archiv"."ID_Empfänger" = "b"."ID"
AND
("a"."Name" = :Name OR "b"."Name" = :Name)
ORDER BY
"Datum" ASC;