1. ホーム
  2. tsql

[解決済み] SQLで2つの値の最小値を取得する

2022-01-26 13:29:20

質問

2つの変数があり、1つは PaidThisMonth であり、もう1つは OwedPast . これらは両方ともSQLのいくつかのサブクエリの結果です。2つのうち小さい方を選択し,それを次のようなタイトルの値として返すにはどうしたらよいでしょうか? PaidForPast ?

MIN 関数は変数ではなく、列に対して機能します。

どのように解決するのですか?

使用例

   Select Case When @PaidThisMonth < @OwedPast 
               Then @PaidThisMonth Else @OwedPast End PaidForPast

インライン・テーブル・バリュードUDFとして

CREATE FUNCTION Minimum
(@Param1 Integer, @Param2 Integer)
Returns Table As
Return(Select Case When @Param1 < @Param2 
                   Then @Param1 Else @Param2 End MinValue)

使用方法

Select MinValue as PaidforPast 
From dbo.Minimum(@PaidThisMonth, @OwedPast)

追記 2つ以上の値がある場合は、次のように考えてください。 クレイグの答え を使用します。