内部联接是否排除重复项? [英] Does Inner Join exclude duplicates?
问题描述
我的查询:
select
SUM(payments.paid_amt) as paid_amt,
SUM(payments.copay_amt) as copay_amt,
SUM(payments.CO_INSURANCE_AMT) as co_ins_amt,
payor_group.PAYOR_GROUP as payor_group,
DATEPART(MM,accession.XIFIN_LOAD_DATE) as load_month,
DATEPART(yyyy,accession.XIFIN_LOAD_DATE) as load_year,
accession.ACCESSION_ID
from
[F_PAYOR_PAYMENTS_monthly] payments
join D_PAYOR payor
on payor.PAYOR_ID=payments.PAYMENT_PAYOR_ID
join D_PAYOR_GROUP payor_group
on payor.PAYOR_GROUP_KEY=payor_group.PAYOR_GROUP_KEY
join F_ACCESSION_daily accession
on accession.ACCESSION_ID=payments.ACCESSION_ID
where accession.XIFIN_LOAD_DATE between '20120501' and '20120531'
group by payor_group.PAYOR_GROUP, DATEPART(MM,accession.XIFIN_LOAD_DATE),
DATEPART(yyyy,accession.XIFIN_LOAD_DATE),accession.ACCESSION_ID
由于某些原因,SUMs
多次计数相同的accession.ACCESSION_ID
.
for some reason, the SUMs
are counting the same accession.ACCESSION_ID
multiple times.
当我执行所有这些连接时,我担心的是我可能多次SUMming
都使用相同的值.
when i am doing all of these joins, my concern is that i might be SUMming
the same value multiple times.
我如何确保我只对同一个accession.ACCESSION_ID
进行一次计数?
how can i ensure that i am counting the same accession.ACCESSION_ID
only once?
非常感谢您的帮助和指导.
thanks so much for your help and guidance.
推荐答案
付款表上可能有多行具有相同ACCESSION_ID
的行,但付款人组不同.由于您也按payor_group分组,因此您将获得多倍登录号.
It's likely that you have multiple rows with the same ACCESSION_ID
on your payments table with different payor groups. Since you are also grouping by payor_group, you are ending up with multipe accession ids.
但是,我们需要查看一些示例数据以确保确定.
We would need to see some sample data to be sure, however.
这篇关于内部联接是否排除重复项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!