Busqueda Formateada con un case

buenos días estimados tengo una consulta tengo un query que me jala en sql y cuando lo traslado a Query manager y tomar la información que tenemos en pantalla ya no devuelve resultados, especificamente queremos aplicarla a Factura de compras en el precio con iva que haga una comparación de rendimiento y que asigne dicho precio, les dejo por aca el query, saludos

DECLARE @Px_List INT
SET @Px_List = (SELECT T0.[GroupCode] FROM OCRD T0 WHERE T0.[CardCode] = N'PPI -00001')

IF @Px_List = 110 
	BEGIN
		SELECT CASE
					WHEN T1.[U_PRCN_RENDIMIENTO] < 70
				THEN T3.[AddPrice2]
   					WHEN T1.[U_PRCN_RENDIMIENTO] >= 70 AND T1.[U_PRCN_RENDIMIENTO] < 75 
				THEN T3.[AddPrice1]
   					WHEN T1.[U_PRCN_RENDIMIENTO] >= 75
				THEN T3.[Price]
		
				 END

				FROM PCH1 T1
				     INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode] 
				     INNER JOIN ITM1 T3 ON T2.[ItemCode] = T3.[ItemCode] 
					 INNER JOIN OPCH T4 ON T1.[DocEntry] = T4.[DocEntry]
					 INNER JOIN OCRD T5 ON T4.[CardCode] = T5.[CardCode] 

				WHERE T1.[DocEntry] = 3 AND
				      T3.[PriceList] = 6
				        END
	
ELSE
	BEGIN
		SELECT (2) END
1 me gusta

Hola Julio
Asi te deberia funcionar


SELECT 
CASE 
	WHEN T0.[GroupCode] = 110 THEN
	(
		SELECT 
		CASE
			WHEN T1.[U_PRCN_RENDIMIENTO] < 70 THEN T3.[AddPrice2]
			WHEN T1.[U_PRCN_RENDIMIENTO] >= 70 AND T1.[U_PRCN_RENDIMIENTO] < 75 THEN T3.[AddPrice1]
			WHEN T1.[U_PRCN_RENDIMIENTO] >= 75	THEN T3.[Price]		
		 END
		FROM PCH1 T1
			 INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode] 
			 INNER JOIN ITM1 T3 ON T2.[ItemCode] = T3.[ItemCode] 
			 INNER JOIN OPCH T4 ON T1.[DocEntry] = T4.[DocEntry]
			 INNER JOIN OCRD T5 ON T4.[CardCode] = T5.[CardCode]
		WHERE T1.[DocEntry] = 3 AND T3.[PriceList] = 6				        
	)
END
FROM OCRD T0 WHERE T0.[CardCode] = N'PPI -00001'

Saludos,
Andres Ramirez Jaramillo :colombia:

5 Me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.