Sql 错误:子查询返回多条记录
我正在尝试执行一个查询,以获取SqlServer上属于特定宿舍的所有学生,宿舍id为,但遇到错误Sql 错误:子查询返回多条记录,sql,sql-server,database,Sql,Sql Server,Database,我正在尝试执行一个查询,以获取SqlServer上属于特定宿舍的所有学生,宿舍id为,但遇到错误子查询返回了多个值。查询为: select * from students where StudentID=(select studentID from Student_To_Hostel where hostelID=2) 如何修复它?方法1: 您需要在此处使用 像这样试试 SELECT S.* From Students S Inner JOIN Student_To_Hostel SH O
子查询返回了多个值。
查询为:
select * from students
where StudentID=(select studentID from Student_To_Hostel where hostelID=2)
如何修复它?方法1: 您需要在此处使用 像这样试试
SELECT S.*
From Students S Inner JOIN Student_To_Hostel SH ON
SH.StudentID =S.StudentID
WHERE SH.hostelID=2
方法2:
您可以使用子句
SELECT *
FROM students
where StudentID IN (
SELECT studentID FROM Student_To_Hostel where hostelID=2
)
尝试将外部查询中的“=”符号替换为“in”
select * from students
where StudentID in (select studentID from Student_To_Hostel where hostelID=2)
希望能有帮助
Vishad这是另一种方法
select * from students
where EXISTS (select studentID from Student_To_Hostel where hostelID=2)