ホームページ >データベース >mysql チュートリアル >SQL Server の最大 2 つの列を確認するにはどうすればよいですか?
SQL Server の 2 つの列の最大値の決定: .NET の Max 関数との比較
.NET では、Max 関数を使用して、2 つの数値のうち大きい方を決定する便利な方法が提供されます。ただし、SQL Server を使用する場合、MAX 関数の動作は異なります。これは、テーブル内のすべての行にわたる指定された列の最大値を返す集計関数として一般的に使用されます。
Max 関数が列全体ではなく 2 つの特定の値を操作する必要がある場合、SQL Server にはいくつかのオプションが用意されています。一般的なアプローチは、UNION ステートメントを利用することです。この場合、比較する値の 2 つの列を含む新しいテーブルを作成し、結合されたテーブルに MAX 関数を適用します。
ただし、このアプローチは複数の列を扱う場合に複雑になる可能性があり、NULL 値の処理には制限があります。 SQL Server 2008 では、派生テーブルを使用する、より洗練されたソリューションが導入されました。
提供された回答は、派生テーブルを利用する強力で柔軟なソリューションを提案しています。
<code class="language-sql">SELECT o.OrderId, (SELECT MAX(Price) FROM (VALUES (o.NegotiatedPrice),(o.SuggestedPrice)) AS AllPrices(Price)) AS MaxPrice FROM Order o</code>
この派生テーブルのアプローチには、多くの利点があります。
以上がSQL Server の最大 2 つの列を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。