Only one expression can be specified in the select list when the subquery is not introduced with EXI

/*错误的*/

select song.song_name,song.title_url,song.mv_url,singer.singer_name from WEBDB_PROD_SONG as song, WEBDB_PROD_SINGER as singer where song.singer_id=singer.singer_id and song.song_name=(select * from WEBDB_PROD_SONG where song_name='F289D7C4')


消息 116,级别 16,状态 1,第 1 行
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。

(原因:子查询的返回值不是一个字段的值(特别说明:子查询的返回值的个数可以是多个的,但必须是一个字段的),也就是子查询返回的值是多个字段的值的集合,由于子查询和外面查询要的不匹配,所以报出这个错误。)


/*正确的*/

select song.song_name,song.title_url,song.mv_url,singer.singer_name from WEBDB_PROD_SONG as song, WEBDB_PROD_SINGER as singer where song.singer_id=singer.singer_id and song.song_name=(select song_name from WEBDB_PROD_SONG where song_name='F289D7C4')


posted @ 2011-12-16 23:31  Atlas's blog  阅读(648)  评论(0编辑  收藏  举报