Таблицынеправильное использование агрегатной функции выберите
Patient (patient_id, patient_name, gender, staff_no, ward_no)
Ward (ward_no, ward_name, number_of_beds)
Запрос
Для каждого подопечного, который имеет по крайней мере один пациент в нем, дают номер прихода и имя вместе с номером пациентов в палате и количества пустых кроватей. Ваш ответ должен быть представлен в порядке убывания пустых кроватей.
Я написал следующий код SQL и сервер дает мне ошибку:
invalid use of an aggregate function
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
Может кто-нибудь помочь? Мне нужно рассчитать количество пустых кроватей и вернуть их как колонку.
Заранее спасибо
*** SQL *** это просто * Structured Query Language * - язык, используемый многими системами баз данных, но не продукт базы данных ... многие вещи специфичны для поставщиков, поэтому нам действительно нужно знать, что ** система баз данных ** (и какая версия) вы используя (пожалуйста, обновите теги соответственно) .... –