Я пытаюсь написать запрос в Oracle оратор SQL, который будет перечислять
UNum, FirstName, Surname и количество файлов, которые есть у пользователей, если у пользователя 0, оно должно отображаться как 0 рядом с его именем.
(PK) = Primary Key
(FK) = Foreign Key
Схема базы данных выглядит следующим образом:
Building(buildingNum(PK), Description, instname, buildName, state, postcode)
User(UNum(PK), buildingNum(FK), Surname, FirstName, initials, title)
File(FileNum(PK), title)
UserAccount(FileNum(PK)(FK), UNum(PK)(FK))
Job(JobNum(PK), id, title)
Interest(JobNum(PK)(FK), UNum(PK)(FK), Description)
До сих пор я пробовал следующий блок кода:
Select User.UNum, User.FirstName, User.Surname, Count(UserAccount.FileNum)
from User, UserAccount
where User.UNum = UserAccount.UNum
group by User.UNum, User.FirstName, User.Surname;
В результате я получаю длинный список пользователей, состоящий из UNum, FirstName и Surname, а затем количество файлов, которые у них есть, однако ни один из результатов не возвращается с 0. Список также кажется слишком длинным для размера базы данных. Как найти тех, у кого также есть 0 файлов и что-то еще я делаю не так? ожидаемый результат должен быть намного более коротким списком пользователей, включая тех, у кого нет файлов (в базе данных 7 человек с 0 файлами) Спасибо.