最高...私はスタッフを自動生成するアプリケーションを書いているLINQクエリは、MAXの日付を返すために
をこれを説明するので、私と一緒に負担する方法がわかりませんロータ。
私はテーブル(tl_RotaDays
)を持っています。これは基本的にどのスタッフがその特定の日に電話をかけたかを記録しています。私は、彼らが働いているの週として定義される「完全な」週に基づいて、それぞれの人が働いていた最後の「フル」ワーキング(月〜金)の週に金曜日の日付を返したい
Date Login
---------------------------
02-01-2012 Bob
03-01-2012 Bob
04-01-2012 Bob
05-01-2012 Bob
06-01-2012 Bob
09-01-2012 Bob
10-01-2012 Bob
11-01-2012 Bob
12-01-2012 Sue
13-01-2012 Sue
> = 3日。
上記の例のように、スーは週の終わりに働いたとしても、彼がその週の過半数を稼働したので、 "Bob"のクエリは "13-01-2012"を返す必要があります。
私は一人一人が働いていた最後の日付を取得するクエリがあります。
lastEveningOOH = Convert.ToDateTime((from rd in db.tl_rotaDays
where rd.ooh == tc.login && ((int)Convert.ToDateTime(rd.date).DayOfWeek >= 1 &&
(int)Convert.ToDateTime(rd.date).DayOfWeek <= 5)
select rd.date).Max()),
をしかし、私は人が「フル」週間働いていたかどうかをチェックするために考えることができる唯一の方法は、それぞれに対して元のテーブルを照会することですこれは恐ろしく非効率的なようだ。
**もしあなたがコード、XML、またはデータサンプルを投稿するなら、テキストエディタでこれらの行を強調表示し、エディタツールバーの "コードサンプル"ボタン( '{}')をクリックすると、それ! –
あなたはどうでしたか?それは私がやったようにそれをタイプすることを迷惑な方法です。 – Ben
私が言及したように:あなたのデータを入力し、それらの行をエディタでハイライトし、中括弧をクリックするか、キーボードのCtrl-Kを押すか、入力から4つのスペースで入力します。同じ。 –