Oracle SQL开发人员,归类于标题下

时间:2019-05-22 04:16:50

标签: sql oracle oracle-sqldeveloper

我当前正在尝试获取数据库以列出感兴趣的职位编号,以及用户标题和对感兴趣的描述感兴趣的用户的数量。该查询应计入“否。感兴趣的用户。没有兴趣的用户的兴趣应排除在外。

(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;

我正在努力使用子查询来执行此操作,我收到的只是一个错误,因为这不起作用。我不确定如何在标题下进行Count(I.description)以及应该如何进行。感谢任何可以提供帮助的人。

1 个答案:

答案 0 :(得分:1)

您可能需要在此处使用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的值。