2016-08-12 47 views
2

我有两个表'学生'和'团队'。我想根据球队名称显示学生人数,球队Team_id是主键。子查询作为列:嵌套子查询

我想这样

(SELECT(SELECT team,count(*) as team 
      FROM student GROUP BY team) AS total, 
    (SELECT team_name 
      from team WHERE team_id IN (SELECT team 
       FROM student GROUP BY team)) as team) 

我想输出

Team Name  Total Student 
----------------------------- 
Team 1   25 
Team 2   10 

表 '学生'

CREATE TABLE IF NOT EXISTS `student` (
    `id` int(255) NOT NULL AUTO_INCREMENT, 
    `rid` varchar(200) NOT NULL, 
    `sid` varchar(200) NOT NULL, 
    `name` varchar(600) NOT NULL, 
    `age` varchar(200) NOT NULL, 
    `dob` varchar(200) NOT NULL, 
    `sex` varchar(200) NOT NULL, 
    `weight` varchar(200) NOT NULL, 
    `height` varchar(200) NOT NULL, 
    `team` varchar(600) NOT NULL, 
    `age_group` varchar(200) NOT NULL, 
    `weight_group` varchar(500) NOT NULL, 
    `belt` varchar(200) NOT NULL, 
    `black_belt` varchar(200) NOT NULL, 
    `ikata` varchar(20) NOT NULL, 
    `ikumite` varchar(20) NOT NULL, 
    `team_kata` varchar(20) NOT NULL, 
    `special_entry` varchar(20) NOT NULL, 
    `challange` varchar(50) NOT NULL, 
    `state` varchar(200) NOT NULL, 
    `weapon` varchar(200) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1; 

表 '团队'

CREATE TABLE IF NOT EXISTS `team` (
    `id` int(20) NOT NULL AUTO_INCREMENT, 
    `team_id` varchar(500) NOT NULL, 
    `team_name` varchar(500) NOT NULL, 
    `address` varchar(500) NOT NULL, 
    `coach_name` varchar(500) NOT NULL, 
    `coach_number` varchar(500) NOT NULL, 
    `coach_email` varchar(500) NOT NULL, 
    `gold` varchar(200) NOT NULL, 
    `state` varchar(500) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1; 
+0

你能张贴你的表结构? –

+0

SELECT子句中的子查询可能不会返回多个结果。 – Uueerdo

+0

这些表格是如何关联的?换句话说,你如何将学生与团队联系起来? – BrandonM

回答

1

好像你正在寻找这个

select a.team_name, count(*) 
from team as a 
inner join student as b on a.id = b.team 
group by a.team_name 

(使用适当的列加入)

+0

@TinTran yes ..正在键入...谢谢..我已经添加了组 – scaisEdge

+0

给语法错误:#​​1064 - 您的SQL中有错误句法;检查与您的MySQL服务器版本相对应的手册,以在'*)附近使用正确的语法@scaisEdge –

+0

@PincenakPrakash向我展示整个信息......接近.......这是我需要的部分...最终向我显示你正在使用的确切查询.. – scaisEdge