关于sql查询语句(简单)

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:02:16
select top 3 * from RoomType where TypeID not in (select top 1 * from RoomType);
分析没有错 但在执行时报这个错:"当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。"

select top 1 * from RoomType 是返回一行 包括所有字段
TypeID not in (select top 1 * from RoomType) 一个字段是不可能和一整行比较的。
正确写法如下:
select top 3 * from RoomType where TypeID not in (select top 1 typeid from RoomType)

改成这样:

select top 3 * from RoomType where TypeID not in (select top 1 TypeID from RoomType);

因为select top 1 * from RoomType查询出来了很多字段..

select top 3 * from RoomType r where r.TypeID <> (select top 1 ro.TypeID from RoomType ro)

select top 3 * from RoomType where TypeID not in (select top 1 * from RoomType);

后面括号里的得制定列名。。* 表示所有了 用in的时候 不知道用哪个了。。。