Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何获得可用座位的数量_Sql_Count - Fatal编程技术网

Sql 如何获得可用座位的数量

Sql 如何获得可用座位的数量,sql,count,Sql,Count,这是表格: 航班(航班ID,最大容量) FlightBooking(BookingID、FlightID、NumSets、Status),状态为:已预订、已持有、已过期、已取消 我已经知道如何显示保留和保留的座位,但我在计算可用座位时遇到了问题,可用座位应该等于MaxCapacity减去保留和保留的座位 有什么建议吗 SELECT f.MaxCapacity - COUNT(b.Status) FROM Flight f INNER JOIN FlightBooking b ON f.Fligh

这是表格:
航班(航班ID,最大容量)
FlightBooking(BookingID、FlightID、NumSets、Status),状态为:已预订、已持有、已过期、已取消

我已经知道如何显示保留和保留的座位,但我在计算可用座位时遇到了问题,可用座位应该等于MaxCapacity减去保留和保留的座位

有什么建议吗

SELECT f.MaxCapacity - COUNT(b.Status)
FROM Flight f
INNER JOIN FlightBooking b
ON f.FlightID = b.FlightID
WHERE b.Status IN ('Reserved','Held')
GROUP BY f.FlightID
select flightid, 
       max(f.maxcapacity) - count(case when fb.status in ('reserved', 'held') 
                                       then 1 
                                       else 0 
                                  end)
from flight f
left outer join flightbooking fb on fb.flightid = f.flightid
group by f.flightid