关于sqlserver数据库表去重的问题

原子and源自 2015-10-26 10:42:37

查询语句如下:
SELECT
distinct A.AccountingCode AS memberID,
A.AccountingName AS memberName,
B.Filed1 AS filed1,
B.Filed2 AS filed2,
ER.EmployeeCode as employeeCode,
ER.DepartName as departmentName,
PT.Name as positionName
FROM
Basic.FL_AccountingInfo A WITH(NOLOCK)
LEFT JOIN Basic.FL_AccountingDetail B WITH(NOLOCK)
ON A.AccountingCode = B.AccountingCode
AND A.AccountingCategoryCode = B.AccountingCategoryCode
AND A.SystemCode = B.SystemCode
AND A.AccountCode = B.AccountCode
left join Basic.FL_EmployeeResume ER with(nolock)
on A.accountingCode = ER.employeeCode
left join Basic.FL_Position PT with(nolock)
on ER.PositionCode = PT.Code
where
A.AccountingCategoryCode = 'ZY'
GROUP BY A.AccountingCode,A.AccountingName,B.Filed1,B.Filed2,ER.EmployeeCode,ER.DepartName,PT.Name
我单表查询没有出现重复的结果

但是左连接后查询就出现重复的结果了,很多人说distinct只能去重行中重复的,不能去掉列重复,那怎么去掉重复列呢,求大神们指导一下,谢谢啦!
...全文
200 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
AcHerat 2015-10-26
直接 SELECT A.AccountingCode AS memberID, A.AccountingName AS memberName, max(B.Filed1) AS filed1, max(B.Filed2) AS filed2, max(ER.EmployeeCode) as employeeCode, max(ER.DepartName) as departmentName, max(PT.Name) as positionName from ... where ... GROUP BY A.AccountingCode,A.AccountingName 试试吧!
回复
原子and源自 2015-10-26
我要查的数据就是图片上显示的那些,去掉重复是因为这不是我要的结果,我要的结果是,如下图
回复
AcHerat 2015-10-26
有Detail明细表,会出现一对多的情况,也就是楼主截图里一个memberID有多条记录的情况,首先楼主要明确自己要查找什么,统计什么数据,为什么要去掉重复。
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-10-26 10:42
社区公告
暂无公告