La subconsulta no se especifica con EXISTS

Buenas tardes,

Hoy vengo con una duda sobre una consulta que tengo en un SP que valida el presupuesto desde la solicitud de compra pero a la hora de ejecutarla me saca error donde se no especifica la subconsulta con EXIST.

if @object_type in ('1470000113') and @transaction_type in ('A','U') begin
if (select (U_Ptto_Compras)+(select SUM(LineTotal) from OPOR t2
	inner join POR1 t3 on t2.DocEntry = T3.DocEntry
	WHERE t2.DocDate BETWEEN '17/01/2019' AND 
    '01/12/2019' AND t3.OcrCode = t1.OcrCode AND T3.AcctCode = T1.U_CTA_SOLICITUD
	 group by t3.OcrCode,t3.AcctCode)
	from OPRQ t0 inner join PRQ1 t1 on t0.DocEntry = T1.DocEntry
	WHERE t0.DocDate BETWEEN '17/01/2019' AND  '30/12/2019'
      and (T0.[DocEntry] = @list_of_cols_val_tab_del)) > 
	(select t0.DebLTotal,T0.FinancYear from obgt t0
	inner join OBGS t1 on t0.Instance = t1.AbsId
	where t1.OcrCode = '361' and t0.AcctCode = '73999545'
     and T1.FinancYear BETWEEN '01/01/2019' AND '01/12/2019')
     begin
      set @error = 10
      select @error_message = 'SP77: Excede Presupuesto' 
    end 
  end

Si ejecuto la consulta por partes si me totaliza el valor del presupuesto pero a la hora de ejecutarlo para que se me guarde en el SP me saca el siguiente error.

Mens 116, Nivel 16, Estado 1, Procedimiento SBO_SP_TransactionNotification, Línea 2008
Sólo se puede especificar una expresión en la lista de selección cuando la subconsulta 
no se especifica con EXISTS.

De antemano gracias.

1 me gusta

Hola @villa54 este error es porque estas haciendo una comparación con un resultado que te devuelve dos campos.

en esa comparación mostrada debes comparar solo un campo, tu has puesto dos, verificarlo y nos avisa si se corrige el error. :smiley:

1 me gusta

@Ricardo_Quiro
Muchas gracias, efectivamente ese era el problema en la consulta.

1 me gusta