2016-07-20 2 views
0

У меня есть таблица inward_doc_tracking_hdr с итогом записей.Проверьте, почему запись дважды возвращается в SQL

Но когда я запускаю то же самое в хранимой процедуре, я получаю в общей сложности записей.

Я проверил количество и увидел, что один счетчик записей равен 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 

UPDATE

Кроме того, мой ниже запрос возвращает 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

Поскольку вы использовали группы By для этого конкретного столбца, удалить группу, для столбца и проверить вы получите все строки. – Manjuboyz

+0

Если вы намеревались использовать 'GROUP BY', можете ли вы подробнее рассказать о том, что вы пытались сделать? –

+0

@Manjuboyz: Я удалил группу и все еще получаю 80 записей. – BNN

ответ

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()

+0

да, теперь m получает 79 записей. Но у меня тогда было 80 записей? Любые особые причины – BNN

+0

Теперь вы не увидите «2», вам нужно использовать Count() только тогда, когда: возвращает количество строк, которое соответствует указанным критериям. – Manjuboyz

+0

ОК, получилось .. что такое использование 'Group by'? – BNN

Смежные вопросы