我试图在SqlServer上执行一个查询,以获取属于特定宿舍的所有学生,其中带有宿舍id,但面对错误,Subquery returned more than 1 value.查询是:
select * from students
where StudentID=(select studentID from Student_To_Hostel where hostelID=2)怎么修?
发布于 2014-03-20 03:46:23
方法1:
您需要在这里使用加入
试着像这样
SELECT S.*
From Students S Inner JOIN Student_To_Hostel SH ON
SH.StudentID =S.StudentID
WHERE SH.hostelID=2Method2:
您可以使用在……里面条款
SELECT *
FROM students
where StudentID IN (
SELECT studentID FROM Student_To_Hostel where hostelID=2
)发布于 2014-03-20 03:46:55
尝试将外部查询中的'=‘号替换为' in’。
select * from students
where StudentID in (select studentID from Student_To_Hostel where hostelID=2)希望它能帮上忙
维沙德
发布于 2014-03-20 06:21:01
这是另一种方法
select * from students
where EXISTS (select studentID from Student_To_Hostel where hostelID=2)https://stackoverflow.com/questions/22523037
复制相似问题