检查为什么在SQL中返回两次记录

时间:2016-07-20 06:38:13

标签: sql sql-server sql-server-2005

我有一张inward_doc_tracking_hdr表格,总共有 79 记录。

但是当我在存储过程中运行相同的东西时,我总共得到 80 记录。

我检查了计数,看到一个记录数为2。

FF

我想知道为什么记录会被退回两次。

以下是查询:

Select  
    UserName, Document_Type, 
    count(Doc_No) docno,
    Doc_No, No_Of_Days_Doc_Pending, UserEmail,
    RA1_Email  -- User table  
from 
    MainTempTable
group by 
    UserName, Document_Type, Doc_No, No_Of_Days_Doc_Pending, 
    UserEmail, RA1_Email, Doc_No

更新

此外,我的以下查询返回2条记录。

Select   
             U.first_name + ' ' + U.last_name UserName,   
             TH.To_User,   
             TY.Type_desc Document_Type,   
             RA.mkey Reporting_To,   
             U.Email AS UserEmail,   
             RAU.Email AS RA1_Email,   
             RAU.first_name + ' ' + RAU.last_name RAName,   
             TH.Doc_No,   
             DATEDIFF(DAY,TH.LastAction_DateTime,GETDATE()) - DATEDIFF(WK,TH.LastAction_DateTime, GETDATE())   
                AS No_Of_Days_Doc_Pending  
            --INTO MainTempTable  
                from inward_doc_tracking_hdr TH   
                    inner join    
             user_mst U ON TH.To_User = U.mkey   
                inner join   
             emp_mst M ON M.mkey = U.employee_mkey   
                inner join   
            type_mst_a TY ON TY.master_mkey = TH.doc_type   
                inner join   
            emp_mst RA ON RA.mkey = M.Reporting_To   
                inner join    
                    user_mst RAU ON RAU.employee_mkey = RA.mkey   
            where   
                TH.Status_flag NOT IN (5,14) --- 5 for close, 14 for return   
                    and TH.To_user IS NOT NULL
                    and TH.To_User = 1019

1 个答案:

答案 0 :(得分:1)

这样做

Select  
UserName, Document_Type, 
 docno,
Doc_No, No_Of_Days_Doc_Pending, UserEmail,
RA1_Email  -- User table  
 from 
MainTempTable
 group by 
UserName, Document_Type,  No_Of_Days_Doc_Pending, 
UserEmail, RA1_Email, Doc_No

希望这可以帮助你

Count()