21

テーブルをクエリして、4 つの列の値のうち 3 つを選択する必要があります。3 列目と 4 列目の値を比較し、大きい方の値を選択する必要があります。

例えば:

column1  column2  column3  column4
 hello    hello      3        5   
 hi       hi         7        1   

戻る必要があります:

column1  column2  Hybrid
 hello    hello     5   
 hi       hi        7   

IF/ELSE を使用しようとしていますが、正しい構文を取得できないようです

4

6 に答える 6

48

T-SQL では、IFコマンドはプログラムによる制御用です。例えば:

  • IF x THEN doSQLStatement1 ELSE doSQLStatement2


SQL ステートメント内では、CASEが必要です。

CASE WHEN a > b THEN a ELSE b END
于 2012-10-24T20:44:06.043 に答える
11

このコードを試してください:

SELECT column1, column2,
       (CASE WHEN column3 > column4 THEN column3 ELSE column4 END)
  FROM Table1

結果:

COLUMN1   COLUMN2  Hybrid
 hello     hello      5
  hi         hi       7

ここに SQL Fiddle の完全なサンプルがあります。

于 2012-10-24T20:49:02.383 に答える
0

ビューを作成することから始めます。

CREATE VIEW t_c
SELECT id, c1 AS c FROM t
UNION
SELECT id, c2 AS c FROM t;

次に、そのビューから選択します。

SELECT id, MAX(c) FROM t_c GROUP BY id;
于 2015-02-27T13:26:13.777 に答える
-1
select column1, coloumn2, case when column3 < column4 then column4 else coloum3 end from table. 
于 2012-10-24T20:45:26.857 に答える