【发布时间】:2015-02-11 08:41:37
【问题描述】:
我有一个 BonusPay 表,其中包含员工 ID、帐号、帐户类型、银行 ID 和其他一些列。
我需要编写在 sql 中返回非唯一员工 ID 的查询
重复的员工 ID+帐号+银行 ID+帐户类型。组合必须是唯一的。
我写了查询来查找重复的员工 ID
(SELECT [Employee ID],COUNT([Employee ID])
FROM [BASEP1].[INTERIM - Bonus Pay Election Enrollment]
GROUP BY [Employee ID]
HAVING COUNT([Employee ID])>1)
请帮助我如何进行下一步
表
**员工身份证号 银行身份证号 账户类型
DC21002 1042044011 121000358 SA
DC21004 8840215401 271070801 DDA
DC21005 9942011555 21000089 DDA
DC21106 0033384728 NULL DDA
DC21117 NULL 121000358 SA
DC21053 0448921114 11000138 NULL
DC21003 4505120541 121000248 DDA
DC21007 5981285871 121000358 SA
DC21095 5400147754 121000358 SA
DC21095 0035793301 121000358 DDA
DC21044 0493540121 121000248 SA
DC21039 NULL NULL NULL
现在取重复的 ID,与其他列结合。 结果看起来像
select [Employee ID]+[Account Number]+[Bank ID Number]+[Account Type]
from [BASEP1].[INTERIM - Bonus Pay Election Enrollment]
DC210021042044011121000358SA
DC210048840215401271070801DDA
DC21005994201155521000089DDA
DC21117NULL121000358SA
现在检查这个结果组合是否唯一
【问题讨论】:
-
您在那里将其他字段添加到选择和分组依据。
-
您能否向我们展示一些您的输入和预期输出的示例数据?
-
BonusPay 表员工 ID
标签: sql sql-server tsql stored-procedures sql-server-2012