The subquery returned more than 1 value. This is not allowed if the subquery follows = ,! =, <,,> = or when the subquery is used as an expression

ALTER procedure [dbo].[GuardarTicketCombustible]
@Proveedor varchar (300),
@CentroCostos varchar (40),
@ Departamento varchar (40),
@ConceptoGasto varchar (40),
@ProductoGasto varchar (40),
Vehiculo varchar (40),
@PeriodoAcomodo varchar (300),
@ Moneda varchar (10),
@FechaVale date,
@FolioVale varchar (30),
@FolioTicket varchar (30),
@Litros decimal (18,2),
@CostoLitro decimal (18,2),
@ImporteTotal decimal (18,2),
@ Proyecto varchar (40),
@SubProyecto varchar (40)
as
declare @msg varchar (max)
declare @ msg2 varchar (max)
declare @IdProveedor bigint
declare @IdCentroCosto bigint
declare @IdDepartamento bigint
declare @IdConceptoGasto bigint
declare @IdProductoGasto bigint
declare @IdVehiculo bigint

-------- TicketConProyecto
declare @TicketCombustible bigint
declare @IdProyecto bigint
declare @IdSubProyecto bigint
start to try
start tran
set @IdProveedor = (select IdProveedor in Proveedores where CONCAT (CompleteNumber, 'ApellidoPaterno,', ApellidoMaterno) = @Proveedor)
set @IdCentroCosto = (select IdCentro in CentrosCostos where NombreCentroCosto = @CentroCostos)
set @IdDepartamento = (select IdDepartamento in Departamento where NombreDepartamento = @Departamento)
set @IdConceptoGasto = (select IdConceptoGeneral in ConceptoGeneral where NombreConceptoGeneral = @ConceptoGasto)
set @IdProductoGasto = (select IdProductoInsumo in ProductoInsumos where Descripcion = @ProductoGasto)
set @IdVehiculo = (select IdVehiculo in Vehiculos where Placas = @Vehiculo)

insert in Fuel Ticket (IdProveedor, IdCentroCosto, IdDepartamento, IdConceptoGasto, IdProductoGasto, IdVehiculo,
PeriodoAcomodo, Moneda, FechaVale, FolioVale, FolioTicket, Litros, CostoLitro, ImporteTotal, Statutes)
values ​​(@ IdProveedor, @ IdCentroCosto, @ IdDepartamento, @ IdConceptoGasto, @ IdProductoGasto, @ IdVehiculo, @PeriodoAcomodo, @ Moneda, @ FechaVale, @ FolioVale,
@FolioTicket, @ Litros, @ CostoLitro, @TotalEmport, & # 39; Pendiente & # 39;)


if (@Proyecto! = & # 39;)
to start
set @IdProyecto = (select IdProyecto in the project where NombreProyecto = @Proyecto)
--select @IdProyecto
insert in [TicketConProyecto] (FuelTicket IdTicket, IdProyecto)
values ​​(SCOPE_IDENTITY (), @IdProyecto)

me marca error in the linea 56 times that you are in the sub-consultation

                                                                                                                                declare @SUMA decimal (18.2);
declare @ Valor decimal (18,2);
set @SUMA = (select sum (ImporteTotal) AS SUMA of TicketCombustibles join TicketConProyecto on TicketConProyecto.IdTicketCombustible = Fuel Ticket.IdTicketCombustible O IdProyecto = @IdProyecto by the group ImporteTotal)
set @Valor = (SELECT SUM (Presupuesto + Margen) AS Total FROM Project where IdProyecto = @IdProyecto)

if (@SUMA <= @Valor)
to start

update of the project set Pagado = @ SUMA where IdProyecto = @ IdProyecto
set @ msg2 = & # 39; Actualización de Proyecto & # 39;
select @ msg2 as MSG2

end

declare @scopProyecto bigint
set @scopProyecto = SCOPE_IDENTITY ()
select @scopProyecto
end
other

set @ msg2 = valor El valor Excede del Presupuesto & # 39;
select @ msg2 as MSG2


if (@SubProyecto! = & # 39;)
to start
set @IdSubProyecto = (select IdSubProyecto in SubProyecto where NumberSubProyecto = @SubProyecto)
--select @IdSubProyecto
update TicketConProyecto set IdSubProyecto = @IdSubProyecto where IdTicketConProyecto = @scopProyecto
end



set @msg = & # 39; Guardado con Exito & # 39;
select @msg as MSG


commit
end try
start to catch
go back
SELECT ERROR_NUMBER () AS ErrorNumber, ERROR_SEVERITY () AS ErrorSeverity, ERROR_STATE () AS ErrorState, ERROR_PROCEDURE () AS ErrorProcedure
, ERROR_LINE () AS ErrorLine, ERROR_MESSAGE () AS ErrorMessage;
final catch