Hallo,
Also eigentlich sind Joins nicht so mein Problem aber hier hab ich irgendwie probleme
Mein Problem:
Ich habe 3 Tabellen
Tabelle cats
Dort stehen Kategorien drin
Tabelle users
Hier sind Mitglieder drin, wobei jedem Mitglied ein String zugeordnet ist, mit seinen Interesse.
Erstmal lasse ich alle Kategorien mit der Menge der Mitglieder ausgeben, die sich für diese Kategorie entschieden haben.
So hier werden die Kategorien ausgegeben und in der while Schleife wird geschaut wieviele User die Kategorie bei interessen eingetragen haben. So das klappt soweit ganz gut.
So nun habe ich noch ne andere Tabelle dort werden eMail nachrichten geloggt. Also wenn ne Mail rausgeht wird das sort mit einem Datensatz vermerkt. Jeder USer kann auswählen wieviele EMails er pro Woche bekommen möchte.
Jetzt muss ich im Prinzip beide Tabellen Joinen und nur die User ausgeben, bei denen die anzahl der Datensätze in der Log Tabelle kleiner ist als der angegebene Wert in Tabelle users.
Ein Versuch war z.B
Also eigentlich sind Joins nicht so mein Problem aber hier hab ich irgendwie probleme
Mein Problem:
Ich habe 3 Tabellen
Tabelle cats
Dort stehen Kategorien drin
Tabelle users
Hier sind Mitglieder drin, wobei jedem Mitglied ein String zugeordnet ist, mit seinen Interesse.
Erstmal lasse ich alle Kategorien mit der Menge der Mitglieder ausgeben, die sich für diese Kategorie entschieden haben.
PHP-Code:
$a=mysql_query("SELECT cat_id,name from cats where parent_cat_id = '0'") or die(mysql_error());
while($cats=mysql_fetch_array($a)){
$b=mysql_query("SELECT count(*) from users where interessen like '%$cats[cat_id]|%'") or die(mysql_error());
list($menge)=mysql_fetch_row($b);
$interessen.="$cats[name] ($menge)<br>";
}
So nun habe ich noch ne andere Tabelle dort werden eMail nachrichten geloggt. Also wenn ne Mail rausgeht wird das sort mit einem Datensatz vermerkt. Jeder USer kann auswählen wieviele EMails er pro Woche bekommen möchte.
Jetzt muss ich im Prinzip beide Tabellen Joinen und nur die User ausgeben, bei denen die anzahl der Datensätze in der Log Tabelle kleiner ist als der angegebene Wert in Tabelle users.
Ein Versuch war z.B
PHP-Code:
$b=mysql_query("SELECT count(p1.user_id) AS usermenge, count(p2.user_id) AS mailmenge from users p1 LEFT OUTER JOIN logmail p2 ON p1.mail_woche < mailmenge'") or die(mysql_error());
Kommentar