特定の行が存在するかどうかを判断するためにクエリを実行するデータ テーブルがあります。いくつかのシナリオが考えられます。
ルール 1:
Dim rt1 As EnumerableRowCollection(Of Double) = From row In dtCh.AsEnumerable() _
Order By row.Field(Of Int64)("ID") Descending
Where (row.Field(Of String)("L_TYPE") = "A" _
And row.Field(Of Int16)("Customer_Type") = 1)
Select row.Field(Of Double)("Price")
If rt1.Any() Then
return CType(rt1.FirstOrDefault(), Decimal)
End If
ルール 2:
Dim rt2 As EnumerableRowCollection(Of Double) = From row In dtCh.AsEnumerable() _
Order By row.Field(Of Int64)("ID") Descending
Where (row.Field(Of String)("L_TYPE") = "B" _
And row.Field(Of Int16)("Customer_Type") = 0)
Select row.Field(Of Double)("Price")
If rt2.Any() Then
return CType(rt2.FirstOrDefault(), Decimal)
End If
さらに 2 つのルールがあります。ルール 1 に対して行が返された場合は、最初のクエリから返された価格を使用します。最初のクエリから何も返されなかった場合は、2 番目のルールに進み、必要に応じて 3 番目と 4 番目に進みます...
しかし、これは少し長い道のりのようです。考えられるすべてのシナリオを知っており、どの順序でシナリオを確認したかったのですか?これらを組み合わせて、1 つのクエリで価格を調べる方法はありますか?
ありがとう