我有两张桌子 第一张表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但我无法实现。
答案 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