加入两个表时如何使用count

时间:2014-03-21 02:11:37

标签: sql-server

我有两张桌子 第一张表tblHostel它包含三个字段 HostelName,RoomId,容量和内容就像那样

  

HostelName RoomId容量
  Vivakanand 1-1 2   Vivakanand 1-2 1   Vivakanand 1-3 3

第二个表是tblStudent有三个字段UserId,RoomId,HostelName和Data就是那个

  

HostelName RoomId UserId
  Vivakanand 1-1 101
  Vivakanand 1-1 102
  Vivakanand 1-3 103

我想以这样的方式合并这两个表,我找到以下类型的输出

  

HostelName RoomId容量计数
  Vivakanand 1-1 2 2
  Vivakanand 1-3 3 1

计数表计算tblStudent中的room-id。 对于单个表,我通过以下命令找到输出 select RoomId,HostelName,count(RoomId) from tblStudent group by Roomid,Hostel;

但是我如何合并这两个表来实现欲望输出,我也使用join但我无法实现。

1 个答案:

答案 0 :(得分:0)

您需要先根据HostelName和RoomID加入表格,然后使用COUNT函数获取每个房间的学生数量,如下所示:

select h.hostelname, h.roomid, h.capacity, count(s.userid) Count
from tblhostel h 
inner join tblstudent s on h.hostelname = s.hostelname 
and h.roomid = s.roomid
group by h.hostelname, h.roomid, h.capacity