2016-05-11 6 views
1

職場で維持しているアプリケーションの新しい機能のデータを選択する比較的複雑なSQLクエリがあります。ここでは、クエリです。 entityspacesでEntitySpacesで比較的複雑なクエリが実行されたときと異なる結果を返します

SELECT pchtq.[sourceappid], 
     pchtq.[transactioncode], 
     pchtq.[accountid], 
     pchtq.[year], 
     pchtq.[filingdatetime], 
     pchtq.[amount], 
     pchtq.[note], 
     pchtq.Status, 
     pchtq.SourceRecordID, 
     utaq.fullname, 
     utaq.username 
FROM [database].[dbo].[transactions1] pchtq 
     INNER JOIN [database].[dbo].[useraccounts] utaq 
       ON pchtq.[accountid] = utaq.[accountid] 
WHERE 
     pchtq.status = 'failed' 
     AND pchtq.[recordcreatedatetime] >= '01/01/2015' 
     AND pchtq.[recordcreatedatetime] <= '05/11/2016' 
     and Not exists 
     (
       select TransactionID 
       from 
        Database.dbo.Transactions2 eft 
       where 
        CAST(eft.TransactionID as nvarchar(50)) = pchtq.SourceRecordID 
        and eft.status IN('paid', 'audit') 
     ) 

、私はそれはこのように書かれている:

pchtq 
    .Select(
     pchtq.SourceAppID, 
     pchtq.TransactionCode, 
     pchtq.AccountID, 
     pchtq.Year, 
     pchtq.FilingDateTime, 
     pchtq.Amount, 
     pchtq.Note 
     ).InnerJoin(utaq).On(pchtq.AccountID == utaq.AccountID) 
     .Where(pchtq.RecordCreateDateTime >= request.StartDate 
      && pchtq.RecordCreateDateTime <= request.EndDate 
      && pchtq.Status == "FAILED") 
     .NotExists(
      eftq.Select(
       eftq.EFileTransactionID 
       ).Where(eftq.Status.In("Paid", "Audit") 
         && Convert.ToString(eftq.TransactionID) == pchtq.SourceRecordID)); 

をしかし、私は(pchtc.Load(pchtq)を使用して)E​​Sアプリでそれを実行したときに、私が実行したときのに対し、私は約7500行を取得SQLクエリ、私は約1500を取得します。

ここで何が問題になっていますか?

答えて

0

多分、あなたが持っている文字列が違うかもしれませんね? 「FAILED」と「失敗」と「監査」対「監査」

私は正直に見ることができる唯一の違いです。

関連する問題