sqlexception:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。

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 ;

 我相信很明白了,如有不清楚的可以留言。

你可能感兴趣的:(Go)