【发布时间】:2019-05-06 13:55:24
【问题描述】:
我正在尝试创建一个查询,为我提供每个 OfficeID 的代理总数 (AgentID)。如果有人可以指导我朝着正确的方向前进,以及是否有资源可以为您提供一系列不同类型的查询示例,这些示例对未来很有用!
我现在的问题是语法。我不确定需要去哪里才能获得上述所需的输出。
这是我目前所拥有的:
表 OFFICE 和 AGENT:
CREATE TABLE OFFICE
(
OfficeID NVARCHAR(5) UNIQUE,
OfficeAddress NVARCHAR(18) NOT NULL,
PRIMARY KEY(OfficeID)
)
GO
CREATE TABLE AGENT
(
AgentID NVARCHAR(8) UNIQUE,
OfficeID NVARCHAR(5) NOT NULL,
AgentType NVARCHAR(9) NOT NULL,
AgentFName NVARCHAR(10) NOT NULL,
PRIMARY KEY (AgentId),
FOREIGN KEY (OfficeID) REFERENCES OFFICE
ON DELETE CASCADE
ON UPDATE CASCADE
)
GO
查询:
SELECT
OFFICE.OfficeID
FROM
OFFICE,
(SELECT COUNT(AgentID)
FROM AGENT, OFFICE
WHERE OFFICE.OfficeID = AGENT.OfficeID
GROUP BY AGENT.OfficeID)
ORDER BY
OFFICE.OfficeID
【问题讨论】:
-
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI
JOIN语法-92 SQL 标准(25 多年前),不鼓励使用它