わかりましたので、4つのテーブルがあります。
users
列id
と を含むテーブルname
。
groups
列id
、name
およびを含むテーブルowner
。
items
列group
と を含むテーブルcontent
。
content
列id
、name
およびを含むテーブルduration
。
各ユーザーは複数のグループを持つことができます。各グループには、複数のアイテムを含めることができます。各項目は、コンテンツの 1 つを表します。
そのグループ内の各コンテンツのすべての期間の合計で、すべてのグループを一覧表示できるようにしたいと考えています。
私が試してきたのはこれです:
select groups.id,groups.name,users.name,sum(content.duration) as duration from groups
join users on groups.owner=users.id
join items on items.group=groups.id
join content on content.id=items.content
残念ながら、これはすべてのグループの各コンテンツのすべての期間の合計で、1 つの結果しか得られません。
"g001", "Group 1", "Me", "400"
私が期待しているのは次のようなものです:
"g001", "Group 1", "Me", "160"
"g002", "Group 2", "You", "160"
"g003", "Group 3", "Them", "80"