sqlexception:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。
原因:子查询的返回值不是一个字段的值(特别说明:子查询的返回值的个数可以是多个的,但必须是一个字段的),也就是子查询返回的值是多个字段的值的集合,由于子查询和外面查询要的不匹配,所以报出这个错误。
例如:
use pubs;
go;
/*错误的*/
select top 8 * from authors where au_id not in (select top 8 * from authors order by au_id) order by au_id ;
/*正确的*/
select top 8 * from authors where au_id not in (select top 8 au_id from authors order by au_id) order by au_id ;
我相信很明白了,如有不清楚的可以留言。