2017-06-20 9 views
-1

フィルターマックスリビジョンで参加:LINQ:複数だから私はこのライン持っ

var transrevmax = db.TRANSACTs 
    .Where(x => x.SITE == "1" && 
       x.DATE_IN >= dateinchoice && 
       x.DATE_OUT <= dateoutchoice) 
    .GroupBy(x => x.TICKET_NO) 
    .Select(x => x.OrderByDescending(y => y.REV_NO).FirstOrDefault()) 
    .ToList(); 

をし、それが取引の正確なリストを返しI欲しい...通過することから値を取得するには、以下の参加

var exportrecovery = (from trans in transrevmax 
         join detail in db.DETAILs on new { TICKET_NO = trans.TICKET_NO, REV_NO = trans.REV_NO } equals new { TICKET_NO = detail.TICKET_NO, REV_NO = detail.REV_NO } 
         join job in db.JOBs on new { JOB_CODE = trans.JOB_CODE, CUST_CODE = trans.CUST_CODE } equals new { JOB_CODE = job.CODE, CUST_CODE = job.CUST_CODE } 
         join customer in db.CUSTOMERs on trans.CUST_CODE equals customer.CODE 
         join invoiced in db.INVOICEDs on trans.TICKET_NO equals invoiced.TICKET_NO 
         where trans.DATE_IN >= dateinchoice && trans.DATE_OUT <= dateoutchoice && trans.STATUS.ToString().Trim() != "V" && trans.STATUS.ToString().Trim() != "E" 
         select new { ADDRESS = customer.ADDRESS, CITY = customer.CITY, STATE = customer.STATE, ZIP = customer.ZIP, FREIGHT = detail.HAUL_CHGE + detail.FUEL_CHGE, JOB_NAME = job.NAME, HAUL_TAX = detail.HAUL_TAX, INVOICE_NO = invoiced.INVOICE_NO, CUST_NAME = customer.NAME, TAX_CODE = customer.TAX_CODE, MAT_CHGE = detail.MAT_CHGE, MAT_TAX = detail.MAT_TAX, MAT_CODE = detail.MAT_CODE, QTY = detail.QTY, PRICE = detail.PRICE, DATE_MOD = trans.DATE_OUT, REV_NO = trans.REV_NO, SITE = trans.SITE, TICKET_NO = trans.TICKET_NO, CUST_CODE = trans.CUST_CODE, JOB_CODE = trans.JOB_CODE } 
        ).ToList(); 

...私が最初の行を実行した場合、トランザクションは最大リビジョンのもの(私が望むもの)に限定され、ジョインを実行すると(「transrevmax」をテーブル「db.TRANSACTs ")私はチケット番号の正しい範囲を得るが、それはすべての改訂を含む。私は結合されたテーブルをどのように使用して、それらの(最大)リビジョン番号に従ってユニークな行だけを得ることができないのか困惑しています。これら2つを併用すると、ゼロの行が得られます。お知らせ下さい。

答えて

0

transrevmaxの作成時にToListを削除します。

+0

チャームのように働いた!その間、私は、最初の行(transrevmax)のwhere部分を削除し、それを望みの結果を得るための後続のフィルタとして使用することを発見しました(私は「where site =」セクションをクエリに追加しましたそれ自体も)。あなたの解決とあなたの助けをありがとう。 –

関連する問題