我有两个表--第一个表tblHostel --它包含三个字段,如HostelName、RoomId、容量和内容
HostelName RoomId容量 维瓦卡南德1-1 2 Vivakanand 1-2 1 Vivakanand 1-3 3
第二个表是tblStudent,它有三个字段( UserId、RoomId、HostelName和Data )。
HostelName RoomId UserId Vivakanand 1-1 101 维瓦卡南德1-1 102 Vivakanand 1-3 103
我想以这样的方式合并这两个表:我发现以下类型的输出
HostelName RoomId容量计数 维瓦卡南德1-1 2 2 维瓦卡南1-3 3 1
计数表在tblStudent中计数空间id。对于单个表,我通过以下命令找到输出
select RoomId,HostelName,count(RoomId) from tblStudent group by Roomid,Hostel;
但是,如何合并这两个表以实现所需的输出,我也使用join,但无法实现。
发布于 2014-03-20 18:23:47
您需要首先根据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
https://stackoverflow.com/questions/22548906
复制