我是新来的sql所以让我道歉,我开始之前之间。查找匹配或不匹配的两个表
我试图国旗我会拨打以下方式保单号码相匹配。
Select c.last_name, c.first_name, c.sex, c.date_of_birth, c.record_nbr,
case when ph.policy_nbr = cp.policy_nbr then ph.policy_nbr else 'No Match'
From table ph
Left join client c
On ph.last_name = c.last_name
And ph.first_name = c.first_name
And ph.date_of_birth = c.date_of_birth
And ph.sex = c.sex
Left join person_payer cp
On c.person_id = cp.person_id
Group by c.last_name, c.first_name,c.date_of_birth,
c.sex,ph.policy_num, cp.policy_nbr
这个想法是根据姓氏,名字,dob和性别找到匹配表。然后我想验证一个保单号上的匹配或不匹配。患者记录中是否存在保单编号?不幸的是,由于客户记录中存在多个保单编号,因此这会产生匹配并且不匹配。我如何才能在报告列表中列出客户一次且仅列出“不匹配”或匹配保单编号。
样本数据和预期的结果将澄清你正在尝试做的。 –
你是否遗漏了一个连接,因为没有连接到表别名pp。而ph是表名“table”的别名吧? –
所以我想向客户展示在姓氏,名字,dob和性别上找到完全匹配的地方。然后报告在客户的person_payer表上是否找到匹配的保单号码。问题是person_payer表拥有多个保单号码。我需要它只显示一次匹配或找不到匹配。我会进一步补充,现在开车回家。 –