Sql 两次合并同一个表时获取重复值

Sql 两次合并同一个表时获取重复值,sql,tsql,join,Sql,Tsql,Join,使用不同条件对同一表进行多个联接 我试图从表中获取一个值,但有不同的标准。有一列具有我试图检索的值。有两套标准 问题在于Else行。逻辑是,如果第一次联接中的条件为真,则获取c_wRVUAmt值。如果没有匹配项,则使用第二个联接的条件。如果没有匹配项,则使用0 我得到了重复的记录,我理解。我只是不明白如何编写连接或查询来消除重复行 选择一个[Revenue Id] ,a.CPT ,a.[程序模块] ,dd.MemberId ,ee.MemberId ,dd.c_HCPCS ,ee.c_HCPCS

使用不同条件对同一表进行多个联接

我试图从表中获取一个值,但有不同的标准。有一列具有我试图检索的值。有两套标准

问题在于Else行。逻辑是,如果第一次联接中的条件为真,则获取c_wRVUAmt值。如果没有匹配项,则使用第二个联接的条件。如果没有匹配项,则使用0

我得到了重复的记录,我理解。我只是不明白如何编写连接或查询来消除重复行

选择一个[Revenue Id] ,a.CPT ,a.[程序模块] ,dd.MemberId ,ee.MemberId ,dd.c_HCPCS ,ee.c_HCPCS ,dd.c_MOD ,ee.c_MOD ,当[GL公司单位]位于“6500”、“6600”、“6700”和[Rev Code]=“0320”中时的情况 然后0 当RTRIMa[名字]成为“医院” 然后0 否则ISNULLdd.c_wrvumt*a[总数量],0+ISNULLee.c_wrvumt*a[总数量],0 以WorkrVamt结束 来自GP_海关..收入_分期a [CPT]=dd.c\U HCPC上的左外连接d_Dim22 dd 和a.[程序Mod]=dd.c_Mod 和'26'和'53'中的[Procedure Mod] [CPT]=ee.c\U HCPC上的左外连接d_Dim22 ee [Procedure Mod]不在'26'和'53'中
我在找一行。

删除重复项的方法很多。 其中之一是使用子选择器选择数据

试着在你的选择周围放置另一个选择,选择不同的:

SELECT DISTINCT
[Revenue Id]
      ,CPT
      ,[Procedure Mod]
      ,MemberId1
      ,MemberId2
      ,c_HCPCS
      ,c_HCPCS
      ,c_MOD
      ,c_MOD
      ,WorkRVUAmt 
FROM (<YOUR SELECT HERE>)

请记住为列名MemberId指定别名,例如MemberId1、MemberId2

无法消除恰好来自查询中提供的左联接的记录。您可以编写一个相关子查询并从联接右侧的任何一个表中传递一行,也可以在select by distinct中修改结果,我认为这不是您的选择

您是否尝试了“分组方式”或“区分方式”以避免重复使其易于帮助您:。问题在于Else行。。。以消除重复行这两个问题是你面临的吗?