首页 > 解决方案 > “这个子查询最多可以返回一条记录。”

问题描述

每当我尝试执行此代码时,我都会收到“此子查询最多可以返回一条记录”。

SELECT W.FullName AS [Full Name], W.Phone, W.Address, W.Age, J.Salary, J.Job
FROM Jobs J INNER JOIN Workers W ON J.JobID = W.JobID
WHERE J.Salary >15000 AND (SELECT Building FROM Departments WHERE Building Like 'A#')
ORDER BY J.Salary

但是,这似乎有效,但我不明白为什么。

SELECT W.FullName AS [Full Name], W.Phone, W.Address, W.Age, J.Salary, J.Job
FROM Departments, Jobs AS J INNER JOIN Workers AS W ON J.JobID = W.JobID
WHERE J.Salary > 15000 AND Departments.Building Like 'A#'
GROUP BY W.FullName, W.Phone, W.Address, W.Age, J.Salary, J.Job
ORDER BY J.Salary

子查询有什么问题?

标签: sqlms-access

解决方案


您可以使用IN

WHERE 
    J.Salary > 15000 AND 
    Departments.Building IN (SELECT Building FROM Departments WHERE Building Like 'A#')

推荐阅读