したがって、次のような「users」という名前のデータテーブルがあります。
UserName | Rank | Amount | OrderCount
jsmith | 2 | 30 | 15
jdoe | 2 | 30 | 0
japple | 2 | 30 | 5
OrderCount が最小の UserName を通過して返す関数を作成しようとしています。これまでのところ、私はこれを以下に持っています:
Function DetermineBestUser(ByVal usertable As DataTable) As String
Dim bestchoice As DataRow()
bestchoice = usertable.Select("Rank = 2", "OrderCount ASC")
Return bestchoice(0)(0).ToString
End Function
既に 1 つの問題が発生しています。ランクは 1 または 2 になります。ユーザーのランクが 1 の場合、ランク 2 のユーザーの OrderCount が低くても返されるはずです。orderCount は、Amount 列の値を超えてはなりません (それを確認する関数が既にあります)。
したがって、この例では、OrderCount が最も低い jdoe が返されるようにします。