В моей базе данных есть следующие таблицы:
campuses
+----+--------+----------+--------+------+
| Id | Campus | Location | County | Year |
+----+--------+----------+--------+------+
discEnr
+----------+------------+------+----+----+
| CampusId | Discipline | Year | Ug | Gr |
+----------+------------+------+----+----+
disciplines
+----+------+
| Id | Name |
+----+------+
Вопрос: Сообщите о зачислении выпускников в 2004 году по специальностям «Сельское хозяйство» и «Биологические науки» для любого университета, в котором есть выпускники.учится в обеих дисциплинах.Сообщите по одной строке на каждый университет (с двумя номерами зачисления в отдельные столбцы), сортируйте университеты в порядке убывания по количеству аспирантов «Сельское хозяйство».
Я понимаю, как сообщать либо «Сельское хозяйство», либо ««Биологические науки» следующим образом, но не вместе в одной выходной таблице
THIS WORKS FOR JUST 'Agriculture'
SELECT c.Campus, DE1.Gr Agriculture
FROM discEnr DE1
JOIN disciplines d1
ON d1.Id = DE1.Discipline
AND d1.Name = 'Agriculture'
JOIN campuses c
ON c.Id = DE1.CampusId
AND DE1.year = 2004
ORDER BY DE1.Gr DESC;
Моя последняя попытка дает мне пустой набор, который не верен, но я не совсем уверен, куда идти дальше:
SELECT c.Campus, DE1.Gr Agriculture, DE2.Gr Biology
FROM discEnr DE1
JOIN disciplines d1
ON d1.Id = DE1.Discipline
AND d1.Name = 'Agriculture'
JOIN discEnr DE2
ON DE1.CampusId = DE2.CampusId
JOIN disciplines d2
ON d2.Id = DE2.Discipline
AND d1.Name = 'Biological Sciences'
JOIN campuses c
ON c.Id = DE1.CampusId
AND DE1.year = 2004
ORDER BY DE1.Gr DESC;
В конечном итоге мой вывод должен быть в форме:
+-----------------+------------------------+--------------------+
| campuses.Campus | discEnr.Gr Agriculture | discEnr.Gr Biology |
+-----------------+------------------------+--------------------+
Любая помощь будет оценена