Sql server 在t-sql中使用内部联接时重复

Sql server 在t-sql中使用内部联接时重复,sql-server,Sql Server,我知道我遗漏了一些东西,我的问题是,除了一个筛选器,我有两个值相同的表,并试图将这些临时表连接到SP中,但我得到了重复的值。 下面是示例代码 SELECT DISTINCT B.SUBSCRIBER_TAX_ID, B.MEMBER_FIRST_NAME, B.MEMBER_LAST_NAME, B.BENEFIT_PLAN_NAME AS MEDICAL_PLAN, B.MEMBER_EFF_DATE AS MED_EFF_DATE, B.MEMBER_TERMINATION_DATE AS

我知道我遗漏了一些东西,我的问题是,除了一个筛选器,我有两个值相同的表,并试图将这些临时表连接到SP中,但我得到了重复的值。 下面是示例代码

SELECT DISTINCT
B.SUBSCRIBER_TAX_ID, B.MEMBER_FIRST_NAME, B.MEMBER_LAST_NAME, 
B.BENEFIT_PLAN_NAME AS MEDICAL_PLAN, B.MEMBER_EFF_DATE AS MED_EFF_DATE, B.MEMBER_TERMINATION_DATE AS MED_END_DATE,
P.BENEFIT_PLAN_NAME AS PHARM_PLAN_NAME, P.MEMBER_EFF_DATE AS PHARM_EFF_DATE, P.MEMBER_TERMINATION_DATE AS PHARM_ENDdATE
FROM #BH_MED B
INNER JOIN #BH_PHARM P ON B.MEMBER_HCC_ID = P.MEMBER_HCC_ID
order by b.BENEFIT_PLAN_NAME,P.BENEFIT_PLAN_NAME
我希望结果是一样的

!

分组使用

SELECT DISTINCT
B.SUBSCRIBER_TAX_ID, B.MEMBER_FIRST_NAME, B.MEMBER_LAST_NAME, 
B.BENEFIT_PLAN_NAME AS MEDICAL_PLAN, B.MEMBER_EFF_DATE AS MED_EFF_DATE, B.MEMBER_TERMINATION_DATE AS MED_END_DATE,
P.BENEFIT_PLAN_NAME AS PHARM_PLAN_NAME, P.MEMBER_EFF_DATE AS PHARM_EFF_DATE, P.MEMBER_TERMINATION_DATE AS PHARM_ENDdATE

FROM #BH_MED B
INNER JOIN #BH_PHARM P ON B.MEMBER_HCC_ID = P.MEMBER_HCC_ID

GROUP BY B.SUBSCRIBER_TAX_ID, B.MEMBER_FIRST_NAME, B.MEMBER_LAST_NAME,B.BENEFIT_PLAN_NAME,B.MEMBER_EFF_DATE,B.MEMBER_TERMINATION_DATE,P.BENEFIT_PLAN_NAME,P.MEMBER_EFF_DATE,P.MEMBER_TERMINATION_DATE

order by b.BENEFIT_PLAN_NAME,P.BENEFIT_PLAN_NAME

欢迎来到stackoverflow。请花一分钟来记录,尤其是。请阅读的公认答案和相应的问题。请更具体。发布的代码工作正常,返回表中没有DUP的内容(除非它应该按B.BENEFIT_PLAN_名称而不是B.BENEFIT_PLAN_名称排序)。如果您获得DUP,则是因为数据中存在DUP。