Я только начинаю проект базы данных для своего института в Oracle SQL Developer, и у меня возникают проблемы с первым запросом, в котором я должен вернуть «название здания», «общее количество отделов», «количество "отделы с 1 комнатой", "количество отделений с 2 комнатами" и т. д. до 5 комнат.
Пока у меня есть это:
select E.EDI_NOMBRE_EDIFICIO as "NOMBRE EDIFICIO",
count(D.NRO_DEPARTAMENTO) as "TOTAL DEPTOS",
(
select count(D.NRO_DEPARTAMENTO) as "TOTAL DEPTOS 1 DORMITORIO"
from (edificio E join departamento D
on E.id_edificio = D.ID_EDIFICIO)
where D.TOTAL_DORMITORIOS = 1
group by E.EDI_NOMBRE_EDIFICIO
) AS "DEPTOS 1 DORM"
from (edificio E join departamento D on E.id_edificio = D.ID_EDIFICIO)
group by E.EDI_NOMBRE_EDIFICIO
order BY E.EDI_NOMBRE_EDIFICIO;
Проблема в том, что я хорошо получаю первые 2 столбца, но подзапрос, который я использую для получения общего числа отделов с 1 комнатой, выдает ошибку 01427, потому что (я думаю) я ставлю многострочный подзапрос в предложении SELECT.
Я не знаю, как подойти к правильному запросу, если он не использует подзапрос в предложении Select. Буду очень признателен, если кто-нибудь из вас сможет мне помочь. Заранее спасибо.
Это мой второй семестр на уроках программирования, поэтому я почти ничего не знаю. На самом деле, я только что прочитал вопрос и ответ «Объединение результатов различных count (*) SQL запросов», и я не понимаю.