error en la subconsulta La subconsulta ha devuelto más de un valor

tema enviado por mcriosd en SQL Server
tema iniciado el 13/11/2018
me manda el siguiente mensaje de error La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión. este es el querry: create storeprosedure reporteventa @FechaIni as datetime, @FechaFin as datetime AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here select datepart(day,fechacerro)as Dia,datepart(Month,fechacerro)as Mes,datepart(Year,fechacerro)as Año,1 as TipoDeOperacion,Numero as MontoRecibio, cast((importe+(select importe from pos.dbo.tbaventapago where idventa=v.idventa and idtipopago=1 and Nombre='Cambio' and cancelado=0))/Tipocambio as decimal(10,2)) as MontoOperación, TipoCambio,0 as CambioEnDolares, (select importe*-1 from .pos.dbo.tbaventapago where idventa=v.idventa and idtipopago=1 and Nombre='Cambio' and cancelado=0)as CambioEnMonedaNacional, (Select Usuario from posserver.usuarios.dbo.tbausuario where NickName=usuariocerro) as Cajero,usuariocerro as IdentificadorCajero,noventa as RegistrodeVenta,17483449 as NumeroDeEstablecimiento from pos.dbo.tbaventa v inner join pos.dbo.tbaventapago vp on v.idventa=vp.idventa where vp.idtipopago=2 and vp.cancelado=0 and V.idalmacen IN (1,2,14,40,41) and fechacerro between @fechaIni and @fechaFin