J'ai 3 tables. Une table a tous les gens, [Pat]
, chacun avec un [PatId]
unique. La deuxième table a toutes les informations de compagnie d'assurance, [Ins]
, chacune avec un [InsId]
unique. La troisième table contient les informations d'assurance patient, [PatIns]
. Dans la table [PatIns]
, certains patients (également [PatId]
) ont une assurance secondaire ou une troisième et il est noté [InsType]
comme 1, 2 ou 3. J'ai besoin d'une requête SQL qui rejoindra non seulement les 3 tables, mais aussi retournera les données lorsqu'une le patient a une assurance secondaire ou troisième. Jusqu'à présent j'ai:Code source SQL Query
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;
Problème est que ne renvoie que les patients avec 3 assurances. Je voudrais retourner tous les patients et les valeurs nulles pour les tables INS2 et/ou INS3 si le patient n'a qu'une seule assurance. Une idée de comment faire cela?
Doh! Tu m'as battu! :) – David
+1: Étais sur le point de suggérer cela moi-même. (ligne 5 a un bug) – Joel
cela traitera-t-il correctement tous les 3 cas: le client a 1, 2, ou 3 politiques? –