Oracle SQL dev, считайте под заголовком - PullRequest
0 голосов
/ 22 мая 2019

В настоящее время я пытаюсь заставить базу данных перечислить интересующий номер задания, а также назвать и подсчитать пользователей, заинтересованных в описании интереса.Запрос предназначен для подсчета под заголовком "Количество заинтересованных пользователей. Интересы без заинтересованных пользователей должны быть исключены.

(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 I.JobNum, U.title, count(I.description) AS 'No. Academics Interested'
from Interest I join Users U
where U.UNum = I.UNum AND I.description != null;

Я борюсь с тем, как сделать это, используя подзапрос, все, что я получаю, это ошибка, поскольку это не работает. Я неуверен, как я делаю Граф (I.description) под заголовком и как я должен это делать. Спасибо всем, кто может помочь.

1 Ответ

1 голос
/ 22 мая 2019

Возможно, вам потребуется агрегирование, используя GROUP BY здесь:

SELECT
    i.JobNum,
    u.title,
    COUNT(i.description) AS "No. Academics Interested"
FROM Interest i
LEFT JOIN Users u
    ON u.UNum = i.UNum
GROUP BY
    i.JobNum,
    u.title;

Обратите внимание, что проверка I.description != null (которая на самом деле должна быть i.description IS NOT NULL) здесь не нужна, поскольку функция COUNT по умолчанию не учитывает NULL значений.

...