2

我有一张networks桌子和一张groups桌子,它们由连接到网络的每个组链接。

每个组都有一个type,其中一些组是special type组。

我正在尝试运行查询,该查询将显示每个特殊类型的组,以显示为一列,显示该组类型中有多少人。

那是可能的吗?将每个组类型显示为列标题。

数据:

Networks

id | name
1  | networka
2  | networkb


groups

id | name   | type | network
1  | groupa | 1    | 1
2  | groupb | 2    | 2
3  | groupc | 3    | 1

type

id | name     | special
1  | speciala | 0
2  | specialb | 1

我目前正在运行:

SELECT Name FROM (

    SELECT groups.Name FROM groups INNER JOIN group_types on groups.Type = group_types.Id WHERE group_types.SpecialType = 1 Group by groups.Type
) as s

它返回具有特殊类型的组列表。但是,如果我想获取更多信息,例如该组中的成员数量,假设我有一个group_members链接回该表的groups表或具有该类型的组的数量。

我目前连续获得两个:

name
specialb

但我其实想回来

specialb
(sub query to get more values for that special group)
4

1 回答 1

0

如果我正确理解了您想要的内容,请写下:

select g.name, t.name, count(*)
from groups as g left join group_members as gm on gm.group=g.id left join types as t on t.id=g.type
group by g.name, t.name

然后使用特殊粘贴>转置复制并粘贴到Excel中。

于 2012-11-08T02:07:22.850 回答