Hallo, vielen Dank für den Tipp. Funktioniert leider gerade mir LEFT OUTER JOIN bzw. RIGHT OUTER JOIN nicht.
Doch, du musst es nur richtigrum anpacken.
Usertabelle:
UseriID Name Wohnort
1 Peter Berlin
2 Udo Stuttgart
3 Ida Frankfurt
4 Robert Mainz
5 Paul Hamburg
[...]
Flirttabelle:
UserID FlirtID
1 3
2 3
3 4
Soweit klar.
Nun will ich mit der Query oberprüfen, ob in der Flirttabelle ein Treffer gelanden wird. Falls "nicht", dann soll er der Userid jedoch den Usernamen ausprucken, sprich:
Du willst also wissen, welche User wieviele Flirtkontakte haben?
select count(A.userid), B.username from jf_flirttabelle AS A LEFT OUTER JOIN jf_usertabelle AS B ON A.userid=B.userid where userid=1 and friendid=3 GROUP BY userid, username ;
Der LEFT JOIN bringt dir alle Ergebnisse der linken - also der Flirttabelle - kombiniert mit den Ergebnissen der Usertabelle. Du willst doch aber alle User haben, auch wenn sie noch keinen Kontakt haben, oder? Dann müsste das so funktionieren:
SELECT
usertabelle.userid
name,
COUNT(flirttabelle.FlirtID) AS Kontakte
FROM
usertabelle
LEFT JOIN
flirttabelle
ON
usertabelle.userid = flirttabelle.userid
GROUP BY
usertabelle.userid
Das ergibt für alle User aus der Usertabelle die Anzahl der Einträge in der Flirttabelle, also mit wievielen anderen Usern derjenige momentan verbandelt ist. Sind keine Einträge vorhanden, gibt's 0. Wenn's das auch nicht ist, verstehe ich ehrlich gesagt nicht, was du da genau abfragen willst.
Siechfred
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.