테이블이 3 개 있습니다. 한 테이블에는 모든 사람들이 있습니다. [Pat]
, 각각 고유 한 [PatId]
이 있습니다. 두 번째 테이블에는 모든 보험 회사 정보 [Ins]
이 있으며 각각 고유 한 [InsId]
이 있습니다. 세 번째 테이블에는 환자 보험 정보 인 [PatIns]
이 있습니다. [PatIns]
테이블에서 일부 환자 (또한 [PatId]
)는 2 차 또는 3 차 보험에 가입하고 [InsType]
에 1, 2 또는 3으로 표시됩니다. 3 개의 테이블을 조인 할뿐만 아니라 환자에게는 2 차 또는 3 차 보험이 있습니다. 지금까지 나는 다음과 같은 것을 가지고있다 :SQL 쿼리 소스 코드
SELECT *
FROM [XEREX_TEST].[dbo].[xrxPat],
[XEREX_TEST].[dbo].[xrxIns],
[XEREX_TEST].[dbo].[xrxPatIns]
[XEREX_TEST].[dbo].[xrxPatIns] AS INS2,
[XEREX_TEST].[dbo].[xrxPatIns] AS INS3
WHERE [xrxPat].[PatId]=[xrxPatIns].[PatId]
AND [xrxPatIns].[PatId] = INS2.[PatId]
AND [xrxPatIns].[PatId] = INS3.[PatId]
AND [xrxIns].[RecNo]=[xrxPatIns].[InsId]
AND [xrxPatIns].[InsType]=1
AND INS2.[InsType]=2
AND INS3.[InsType]=3;
문제는 3 가지 보험을 가진 환자 만 반환한다는 것이다. 환자가 보험이 1 개인 경우 INS2 및/또는 INS3 테이블에 대해 모든 환자와 널 값을 반환하고 싶습니다. 어떻게해야할까요?
Doh! 너는 나를 때렸다! :) – David
+1 : 나 자신에게 이것을 제안하려고했다. (라인 5에는 버그가 있음) – Joel
은 고객이 1, 2 또는 3 정책을 가지고있는 모든 3 가지 경우를 올바르게 처리합니까? –