Hi,
ich habe da folgendes Problem:
ich will daten aus 3 tabellen verbinden.
Tabelle items
Code
id | name | group_id
---+------+----------
1 |Test1 | 1
---+------+----------
2 |Test2 | 2
---+------+----------
3 |Test3 | 1
---+------+----------
4 |Test4 | 3
---+------+----------
5 |Test5 | 3
---+------+----------
6 |Test2 | 2
Alles anzeigen
Tabelle gruppen
Code
id | name |
---+---------+
1 | Gruppe1
---+---------+
2 | Gruppe2
---+---------+
3 | Gruppe3
---+---------+
Tabelle group_joins
Code
user | group
-----+-------
1 | 1
-----+-------
3 | 2
-----+-------
1 | 2
-----+-------
11 | 1
-----+-------
12 | 2
-----+-------
13 | 1
Alles anzeigen
So, jetzt will ich 5 gruppen haben undzwar ihre id, ihre mitglieder und die items, die zu der gruppe gehören.
Bisher habe ich folgendes versucht:
SQL
SELECT
groups.id
AS id,
groups.name
AS name,
COUNT(items.id)
AS videos,
COUNT(group_joins.user)
AS members
FROM
groups
INNER JOIN
items
ON (items.group_id=groups.id)
INNER JOIN
group_joins
ON (group_joins.group=groups.id)
ORDER BY
RAND()
LIMIT
5
Alles anzeigen
Aber ich erhalte immer folgende ausgabe:
Dabei hat die gruppe1 drei mitlgieder und 2 videos...
Hat da irgendjemand eine idee? Ich komm nicht weiter