WHERE
SQL Server で、句の値に基づいて行をランク付けする方法はありますか?
例えば:
SELECT *
FROM Foo
WHERE
Bar1 = true AND
Bar2 = true OR
Bar3 = false
この場合の最良の結果は、Bar1 = true、Bar2 = true、Bar3 = false の行です。Bar1 = true、Bar2 = true、および Bar3 = true の行は、Bar3 が異なるため、スコアが低くなります。
さらに複雑にするために。WHERE 句は動的です。どの列がクエリに表示されるか正確にはわかりません。したがって、次のクエリは次のようになります。
SELECT *
FROM Foo
WHERE
Bar1 = false OR
Bar3 = true OR
Bar4 = True
これらのクエリにランキングを適用するにはどうすればよいですか?
これはクエリ内で行うことができますか、それとも C# で行う方がよいでしょうか?