アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQLServerでOracleのGREATEST関数のような事がしたいです。

具体的に書きますと、

ID | 列1 | 列2 | 列3 | 列4 | 列5
------------------------------
01 | 700 | 200 | 300 | 400 | 100
02 | 100 | 800 | 200 | 300 | 200
03 | 100 | 300 | 900 | 100 | 100

という表があった場合に

ID | 最大値
------------------------------
01 | 700
02 | 800
03 | 900

といった結果を求めたいです。

CASE等を利用するしか方法はないのでしょうか。

A 回答 (1件)

SELECT ID,MAX(列) AS 最大値 FROM


(SELECT ID,列1 AS 列 FROM テーブル
UNION ALL SELECT ID,列2 AS 列 FROM テーブル
UNION ALL SELECT ID,列3 AS 列 FROM テーブル
UNION ALL SELECT ID,列4 AS 列 FROM テーブル
UNION ALL SELECT ID,列5 AS 列 FROM テーブル) AS TBL
GROUP BY ID ORDER BY 1
でどうでしょうか。
    • good
    • 4
この回答へのお礼

ご回答ありがとうございます。

ご教示頂いたSQLにて期待の結果が得られました。
ありがとうございました!

お礼日時:2012/08/20 11:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A