use*_*192 2 sql sql-server sql-server-2005 correlated-subquery
我有一个我需要执行的查询,我不知道如何构造.
我有一张名为Employees的桌子.我还有另一张叫做公司的桌子.还有第三个名为Files的表.您可以想象,公司有员工,员工有文件.
我需要列出我数据库中的所有员工.面临的挑战是,我需要列出与员工在同一公司中的文件总数.我试过以下的变种而没有任何运气:
SELECT
e.FirstName,
e.LastName,
e.Company,
(SELECT COUNT(*) FROM Files f WHERE f.EmployeeID IN (SELECT [ID] FROM Employees e2 WHERE e2.CompanyID=e.CompanyID)) as 'FileCount'
FROM
Employees e
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢!
试试这个:
SELECT
e.FirstName,
e.LastName,
e.Company,
(
SELECT COUNT(*)
FROM Files f
JOIN Employees e2 ON f.EmployeeID = e2.id
WHERE e2.CompanyID = e.CompanyID
) as 'FileCount'
FROM
Employees e
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4057 次 |
| 最近记录: |