21/06/2017, 19:05
|
| | Fecha de Ingreso: octubre-2008
Mensajes: 101
Antigüedad: 16 años, 2 meses Puntos: 1 | |
Problemas con el WHERE CASE WHEN Buenas noches.
Pido de su valiosa colaboracion, para que me ayuden a resolver este problema en SQL.
Actualmente estoy haciendo una consulta que me regresa los pagos recibidos con su respectiva tasa de cambio, con el que el pago fue realizado.
Para ello lo hago de la siguiente forma:
Este primer select me permite sacar las tasas de cambio sin ningun problema.
Código:
SELECT
E.sell_rate
FROM CURRENCY_EXCHANGE E, Cash_Receipt P
WHERE
Convert(varchar(10),CONVERT(date,P.Create_Date,106),103) =
CASE
WHEN Convert(varchar(10),CONVERT(date,E.effective_date,106),103) = Convert(varchar(10),CONVERT(date,P.Create_Date,106),103)
THEN Convert(varchar(10),CONVERT(date,E.effective_date,106),103)
ELSE
Convert(varchar(10),CONVERT(date,P.Create_Date,106),103)
END
El problema se origina, cuando hago este select y lo anido para sacar otra informacion de otras tablas-
Código:
Select C.Id,
Convert(varchar(10),CONVERT(date,P.Create_Date,106),103) Create_Date,
--- Incluyo la Tasa de Cambio---------------------------------------------------------------------------------------------------
( SELECT
E.sell_rate
FROM CURRENCY_EXCHANGE E
WHERE
Convert(varchar(10),CONVERT(date,P.Create_Date,106),103) =
CASE
WHEN Convert(varchar(10),CONVERT(date,E.effective_date,106),103) = Convert(varchar(10),CONVERT(date,P.Create_Date,106),103)
THEN Convert(varchar(10),CONVERT(date,E.effective_date,106),103)
ELSE
Convert(varchar(10),CONVERT(date,P.Create_Date,106),103)
END
) as Tasa
---------------------------------------------------------------------------------------------------------------------------------
from Customer C, Cash_Receipt P, cash_receipt_line Det, Receivable R
where
C.ID = P.CUSTOMER_ID And
P.Check_id = Det. Check_Id And
P.Customer_Id = Det.Customer_Id And
R.Invoice_Id = Det.Invoice_Id And
P.Status = 'A'
Group by C.Id, P.Create_Date
En la primer consulta me regresa las tasas, pero cuando hago el anidado, no me regresa ningun registro.
Que estare haciendo mal?
Me podrian ayudar por favor.
Desde ya muchas gracias, y cualquier duda favor avisar para poder ampliar. |