如何在sql中进行减法时连接两个表

时间:2016-10-25 06:34:41

标签: sql sql-server

首先对不起,如果我的英语不完美,因为我不会说英语。 我有一张桌子,列出了学校里的所有人以及他们所在的房间。 在第二个表中有房间号和每个房间有多少人。 如何显示包含房间号码和房间空座位数量的表格? 我正在使用Microsoft sqlserver管理工作室2008。 谢谢你的帮助!

3 个答案:

答案 0 :(得分:0)

假设你的表格结构如下:

第一张表:

StudentId | RoomNumber

第二张表:

RoomNumber | Count

然后,

select t1.RoomNumber, t2.Count - count(t1.StudentId)
from FirstTable t1
inner join SecondTable t2
on t1.RoomNumber = t2.RoomNumber
group by t1.RoomNumber

答案 1 :(得分:0)

表:

<强>学生 StudentId | RoomId

<强>房间 RoomId | NumberOfSeats

Select room.RoomId, room.NumberOfSeats - count(stu.StudentId)
from Rooms room
left join Students stu on room.RoomId = stu.RoomId
group by room.RoomId

通过这种方式,您将获得没有任何学生的房间

小提琴:here

答案 2 :(得分:-1)

select t1.StudentId,
    t1.RoomNumber,
    t1.StudentId-Count(t2.Count),
    t2.RoomNumber,
    t2.count
from FirstTable as t1
Right join SecondTable as t2
on t1.RoomNumber = t2.RoomNumber
group by t2.RoomNumber