Only one expression can be specified in the select list when the subquery is not introduced with(求助)

来源:互联网 发布:美工自学 编辑:程序博客网 时间:2024/06/05 09:07
BEGIN   TRANdeclare @userName varchar(100)declare @userSurname varchar(100)declare @i intdeclare @num intdeclare @sqlstr nvarchar(1000)declare @error intdeclare @CustomId  varchar(100)set @i=1set @num=(select COUNT(*) from (select count(userid) shuliang from dbo.Users group by name,surname having count(userid)>1) as t)set @userName= (select top 1 name from (select top 1 name,surname from dbo.Users group by name,surname having count(userid)>1 order by name ASC) as t order by name desc)set @userSurname=(select top 1 surname from (select top 1 name,surname from dbo.Users group by name,surname having count(userid)>1 order by name ASC) as t order by name desc)set @sqlstr=('select * from User where name="'+CONVERT(varchar(100),@userName)+'" and surname="'+convert(varchar(100),@userSurname)+'" ')set @i=2while @i<=@numbeginset @userName= (select top 1 name from (select top (CONVERT(INT,@i)) name,surname from dbo.Users group by name,surname having count(userid)>1 order by name ASC) as t order by name desc)set @userSurname=(select top 1 surname from (select top (CONVERT(INT,@i)) name,surname from dbo.Users group by name,surname having count(userid)>1 order by name ASC) as t order by name desc)set @sqlstr=@sqlstr+('union select * from User where name="'+CONVERT(varchar(100),@userName)+'" and surname="'+convert(varchar(100),@userSurname)+'" ')print @iprint @sqlstrset @i=@i+1end   exec sp_executesql @sqlstrset   @error   =   @@errorif   @error   <> 0       begin print   '查询失败'rollback   tran        end


	
				
		
原创粉丝点击