Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2013, 07:54
Avatar de chris225
chris225
 
Fecha de Ingreso: octubre-2012
Ubicación: Medellin
Mensajes: 149
Antigüedad: 11 años, 6 meses
Puntos: 2
La subconsulta ha devuelto más de un valor

buenas tengo una funcion que envia como parametros 2 fechas y tengo este calculo

case when VE.Interno=0
then
(select (TD.BRUTO - isnull((select SUM(CANTIDAD*VALORUNIT) from MVTRADE where TIPODCTONC in ('NC','NB','NU') and NUMFACTNC=TD.NRODCTO),0)) *
(SELECT (PorcReca/100)FROM GS_Recaudo where (DATEDIFF(day, @pfecha,@pfecha1) between Desde and Hasta))
* (select (PorcReca/100) from GS_ConfEscal where Nombre=VE.NOMESCALAFON)
from Trade as TD
inner join GS_Recaudo AS RC on RC.CodeVen = TD.CODVEN
inner join VENDEN AS VE ON VE.CODVEN = RC.CodeVen
left JOIN ABONOS AS AB on AB.FACTURA=TD.NRODCTO AND AB.TIPODCTOCA=TD.TIPODCTO
where TD.TIPODCTO in ('FU','FB','FC') and TD.CODCC=VE.CCOSTOS
group by TD.BRUTO,TD.NRODCTO,VE.NOMESCALAFON--,TD.CODVEN,TD.TIPODCTO,VE.Interno
having sum(AB.VALOR)>=TD.BRUTO)
else
(Select (TD.BRUTO - isnull((select SUM(CANTIDAD*VALORUNIT) from MVTRADE where TIPODCTONC in ('FC') and NUMFACTNC=TD.NRODCTO),0))
* (select (PorcReca / 100) from GS_ConfEscal where Nombre=VE.NOMESCALAFON) from Trade as TD
inner join GS_Recaudo AS RC on RC.CodeVen = TD.CODVEN
inner join VENDEN AS VE ON VE.CODVEN = RC.CodeVen
where TD.TIPODCTO IN ('FC') and TD.CODVEN=VE.CODVEN) end as total

pero me sale este error cuando ejecuto la funcion

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

pero cuando ejecuto ese calculo aparte solo me trae una fila de datos entonces no se que hacer