Здравейте, имам 2 таблици - groups и members със съответната информация в тях:
- за groups :
- за members :
Със следващата заявка избирам всички групи и броя членове в съответната група
[sql]SELECT g . * , COUNT( m.user_id ) AS members FROM groups g LEFT JOIN members m ON g.id = m.group_id GROUP BY g.id [/sql] и получавам следния резултат :
Тук всичко мисля, че е наред. Проблема ми е, че се опитвам да избера всички групи, както и общия брой членове в съответната група, в които даден потребител е член. Например искам да видя потребител с ID 1, в кои групи членува и съответно в тази група колко общо членове има. Правя заявката така:
[sql]SELECT g . * , COUNT( m.user_id ) AS members FROM groups g LEFT JOIN members m ON g.id = m.group_id WHERE m.user_id = '1' GROUP BY g.id[/sql] добавил съм WHERE clause, но ми извежда грешни резултати.
.
Ако някой има идея как трябва да стане нека сподели
- за groups :
- за members :
Със следващата заявка избирам всички групи и броя членове в съответната група
[sql]SELECT g . * , COUNT( m.user_id ) AS members FROM groups g LEFT JOIN members m ON g.id = m.group_id GROUP BY g.id [/sql] и получавам следния резултат :
Тук всичко мисля, че е наред. Проблема ми е, че се опитвам да избера всички групи, както и общия брой членове в съответната група, в които даден потребител е член. Например искам да видя потребител с ID 1, в кои групи членува и съответно в тази група колко общо членове има. Правя заявката така:
[sql]SELECT g . * , COUNT( m.user_id ) AS members FROM groups g LEFT JOIN members m ON g.id = m.group_id WHERE m.user_id = '1' GROUP BY g.id[/sql] добавил съм WHERE clause, но ми извежда грешни резултати.
Ако някой има идея как трябва да стане нека сподели