SELECT *,
(SELECT count() FROM FRIENDS f WHERE b.uid = f.uid) AS FRIENDS,
(SELECT count() FROM ARTIKEL a WHERE b.uid = a.uid) AS ARTIKEL,
FROM BENUTZER b
>
~~~sql
So würde ich es machen:
select count(distinct f.uid) as Friends
count(distinct a.uid) as Artikel
from Benutzer b
left outer join FRIENDS f on (b.uid = f.uid)
left outer join FRIENDS a on (b.uid = a.uid)
So hast du ohne Probleme zugriff auf alle Tabellen.
Und da alle Uid eh einen Index haben sollte es auch keine Performace Probleme geben.