Несколько соединений к одной и той же таблице по разным критериям.
Я пытаюсь получить значение из таблицы, но у меня другие критерии. Есть столбец, значение которого я пытаюсь получить. Есть два набора критериев.
Проблема с линией Else. Логика заключается в том, что если условия в первом соединении выполняются, то получить значение c_wRVUAmt. Если совпадений нет, используйте условия второго соединения. Если там нет совпадений, используйте 0.
Я получаю дубликаты записей, которые я понимаю. Я просто не понимаю, как написать соединения или запрос для устранения дублирующих строк.
select a.[Revenue Id]
,a.CPT
,a.[Procedure Mod]
,dd.MemberId
,ee.MemberId
,dd.c_HCPCS
,ee.c_HCPCS
,dd.c_MOD
,ee.c_MOD
,CASE When a.[GL Company Unit] IN ('6500','6600','6700') and a.[Rev Code] = '0320'
then 0
When RTRIM(a.[BE Name]) <> 'Hospital'
Then 0
Else ISNULL(dd.c_wRVUAmt * a.[Total Qty],0)+ISNULL(ee.c_wRVUAmt * a.[Total Qty],0)
end as WorkRVUAmt
from GP_CUSTOMS..Revenue_Staging a
Left Outer Join d_Dim22 dd on a.[CPT] = dd.c_HCPCS
and a.[Procedure Mod] = dd.c_MOD
and a.[Procedure Mod] in ('26','53')
Left Outer Join d_Dim22 ee on a.[CPT] = ee.c_HCPCS
and a.[Procedure Mod] NOT IN ('26','53')
Я ищу один ряд.