-1

次のような名前の実行を持つテーブルがあるとしましょう:

InvoiceID------ExecutionID-------IsSettled

123-----1-----0

123-----2-----1

345-----3-----1

345-----4-----1

567-----5-----0

567-----6-----0

私の質問 :

すべての実行が IsSettled=1 である InvoiceID のみを取得するクエリは何ですか? つまり、クエリの結果は次のようになります。

345-----3-----1

345-----4-----1

isSettled flog=0 の実行がある請求書を実行したいのですが、私の質問では、invocieID=123 には 2 つの実行があることがわかります。 isSettled フラグ = 0 の実行が 1 つあるため、この請求書を結果セットに含めます。

実行オブジェクトがあるかどうかも誰かが知っている場合、Linq を使用して同じ結果を得るにはどうすればよいですか。

クエリは、SQL または LINQ のいずれかです。

ありがとう

4

6 に答える 6

1

決済されていない請求書 ID のリストを作成します。

var notNeeded = ExecutionObject.Where(e => e.IsSettled == 0).Select(s => s.InvoiceId).ToList();

次に、決済済みの請求書をフィルタリングし、請求書 ID が未決済リストにあることを確認します。

var invoices = ExecutionObject.Where(e => e.IsSettled == 1 && !notNeeded.Contains(e.InvoiceId)).ToList();
于 2013-06-27T10:46:56.473 に答える