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:
En la primer consulta me regresa las tasas, pero cuando hago el anidado, no me regresa ningun registro.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
Que estare haciendo mal?
Me podrian ayudar por favor.
Desde ya muchas gracias, y cualquier duda favor avisar para poder ampliar.