SQL top子句取数据数量问题

select top 2 ID,
UID,Stamp,BuildingCode,BuildType,Building,BuildingAdress,Site,Layer,RoomID,BedNum,BedState,Standard,UserCollegeCode,UserStudentID,ReplaceDate,ReplaceOperator,Operator,Reamark,Reamark1,Reamark2
FROM SG_BedResources
where 1=1 and Building=''and UID='' and ID not in(select top 2 * from SG_BedResources)
order by ID asc

报错:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
报错,实在不明白改怎么改了想要取一定条数,但条数不固定,还有两个条件选择,该怎么解决? 有些摸不到头绪

第一个报错:你的and ID not in(select top 2 * from SG_BedResources) 这句SQL就有问题,你既然用了in,那么肯定在后面的条件里面只能指定一个字段呀,
第二个是什么情况?仔细说说