2016-08-12 50 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