Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何消除DUP?_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql 如何消除DUP?

Sql 如何消除DUP?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我在CandidateCallHistory表中有多条记录,这似乎导致了外部应用的问题。我可能是错误的,因为它应该只获取表中最新的记录,因为它选择了top 1。尝试在选择后的第一行添加distinct: select C.Id as candidateId,C.Name, C.Phone, Status.ResultStatusText , Status.TimeStamp, Status.notes , (Select count(*) from CandidateC

我在CandidateCallHistory表中有多条记录,这似乎导致了外部应用的问题。我可能是错误的,因为它应该只获取表中最新的记录,因为它选择了top 1。

尝试在选择后的第一行添加distinct:

select C.Id as candidateId,C.Name, C.Phone, Status.ResultStatusText , Status.TimeStamp,  Status.notes ,
            (Select count(*) from CandidateCallHistory  where CandiateId =  candidateId) AS numbCalls,
            (SELECT SUBSTRING((SELECT ',' + Name
                FROM Jobs  
                WHERE Id in (select value from fn_Split(c.JobIds,','))
                FOR XML PATH('')),2,200000)) AS jobsList
    from  Candidate2 C
    outer APPLY  (select top 1 CH.CandiateId, CH.ResultStatusText , CH.TimeStamp , CH.notes  
                    from CandidateCallHistory CH    
                    where CH.CandiateId = C.Id          
                    order by TimeStamp desc) as Status 
    where Status.ResultStatusText <> 'completed' and Status.ResultStatusText <> 'canceled' and c.isactive = 1

您需要提供样本数据和结果,因此我们无法理解您所说的DUP。我猜重复项在候选2中,因为您明确选择了前1。。。在派生表中,执行外部应用。一些显示重复的样本数据和结果将有助于我们理解这个问题。CandiateId=candidateId是什么?我猜CandiateId来自CandidateCallHistory,但candidateId专栏是从哪里来的?这只是掩盖了问题。解决方法是解析连接,这样就没有DUP
select distinct [...]