表
Patient (patient_id, patient_name, gender, staff_no, ward_no)
Ward (ward_no, ward_name, number_of_beds)
询问
对于每个至少有一名患者的病房,提供病房号码和名称,以及病房的患者人数和空床位数。您的答案应按空床的降序排列。
我编写了以下 SQL 代码,服务器给了我一个错误:
聚合函数的无效使用
SELECT
ward.ward_no,
ward.ward_name,
COUNT(*) AS patient_count,
number_of_beds - COUNT(patient_id) AS empty_beds
FROM
patient,
ward
WHERE
patient.ward_no = ward.ward_no
GROUP BY
ward.ward_no,
ward.ward_name,
number_of_beds,
empty_beds
HAVING
COUNT(*) > 1
ORDER BY
ward.ward_name
任何人都可以帮忙吗?我需要计算空床的数量并将其作为列返回。
提前致谢