我有以下表格结构,我希望从预订表中统计所有房间类型。 我想有这样的事情: 房型:双人3 :简单5 有可能做到这一点?按房间类型划分的SQL计数
我只设法计从预订表的所有客房
SELECT COUNT(Room_ID)AS NumarRezervari FROM dbo.Reservation WHERE MONTH(Data_Check_in)=5
我有以下表格结构,我希望从预订表中统计所有房间类型。 我想有这样的事情: 房型:双人3 :简单5 有可能做到这一点?按房间类型划分的SQL计数
我只设法计从预订表的所有客房
SELECT COUNT(Room_ID)AS NumarRezervari FROM dbo.Reservation WHERE MONTH(Data_Check_in)=5
SELECT Room_Type, COUNT(*) AS NumarRezervari
FROM dbo.Reservation re
JOIN dbo.Room ro ON ro.RoomID = re.RoomID
JOIN dbo.Room_Type rt ON rt.Room_Type_ID = ro.Room_Type_ID
WHERE MONTH(re.Data_Check_in) = 5
GROUP BY Room_Type
你需要使用一个GROUP BY
条款和几个连接,就像这样:
SELECT Room_Type, count(*) FROM Reservation rv
INNER JOIN Room rm ON rm.Room_ID = rv.Room_ID
INNER JOIN Room_Type rt ON rm.RoomType_ID = rt.RoomType_ID
GROUP BY Room_Type
如果您想要计算amo没有房间类型,我认为你可以做这样的事情:
select count (Room_Type_Id) from Room_Type
inner join Room on Room.Room_Type_ID = Room_Type.RoomType_ID
inner join Reservation on Reservation.Room_ID = Room.RoomID
where ...
谢谢你,这是我所需要的 – jonny