Hier ist meine Tabellenstruktur:mySQL komplexe SELECT-Abfrage?
users:
id | email
emails:
id | subject | body
user_emails:
user_id | email_id
Es ist sehr einfach aufgebaut. Allerdings muss ich die erste (niedrigste) E-Mail-ID für alle Benutzer-IDs auswählen, die nicht in Benutzer-E-Mails verknüpft sind.
Zur Veranschaulichung:
users:
id | email
1 | [email protected]
2 | [email protected]
3 | [email protected]
emails:
id | subject | body
1 | sub1 | body1
2 | sub2 | body2
user_emails:
user_id | email_id
1 | 1
1 | 2
2 | 1
Wie die Daten zeigen:
- User 1 empfangene E-Mail 1 und 2 bereits so die Auswahl sollte dass Benutzer ausschließen.
- User 2 erhalten nur E-Mail-1, so sollte es Benutzer 2 und E-Mail wählen 2.
- Benutzer 3 hat keine E-Mails nicht erhalten, so sollte es Benutzer 3 und E-Mail 1.
wählen Ich werde das in PHP machen, also sollte jede Logik in PHP geschrieben sein, wenn es nicht mit mySQL alleine gemacht werden kann.
Vielen Dank im Voraus
EDIT: ich wohl erwähnen sollte, dass es Tausende von Benutzer-IDs und Hunderte von E-Mail-IDs sein. Das Skript, das alle diese E-Mails versendet, wird einmal täglich ausgeführt. Also sollte dies so optimiert wie möglich sein.
Lesen Sie auf LINKE VERBINDUNG. –
Ich habe aber ich bin nicht sehr erfahren mit mySQL und es wird für mich verwirrend. –
Ihre Antwort sollte ein solcher gepostet werden, und dann sollten Sie eine Antwort akzeptieren. :-) –