Я пытаюсь проверить, есть ли в другой таблице (на другом сервере) данные, относящиеся к обменному курсу за месяц, когда должен быть ETA.
Это код:
SELECT distinct
case when month(pod_eta)>month(getdate()) AND month(max(server.database.[dbo].[CustomsExchangeRate].validto))> month(getdate()) then pod_eta
when month(pod_eta)>month(getdate()) AND month(max(server.database.[dbo].[CustomsExchangeRate].validto))= month(getdate()) THEN NULL
ELSE pod_eta end AS ArrDate from staging.dutydata i
Логика заключается в том, что когда ETA в следующем месяце и у нас есть обменный курс на следующий месяц, тогда используйте ETA, если ETA в следующем месяце и у нас есть обменный курс на этот месяц, тогда ноль, иначеиспользуйте pod_eta (если ETA в этом месяце и у нас есть обменный курс в этом месяце)
MSSQL не удается, поскольку он не может связывать server.database.dbo] .CustomsExchangeRate] .validto.
Они имеютнет общих ключей, которые я могу использовать, чтобы присоединиться к ним ...