比较两列的值,然后选择较大的值

bro*_*man 18 sql sql-server-2008

我需要查询一个表并选择3列的3个值.我需要比较第3列和第4列的值,然后选择更大的值.

例如:

column1  column2  column3  column4
 hello    hello      3        5   
 hi       hi         7        1   
Run Code Online (Sandbox Code Playgroud)

我需要回复:

column1  column2  Hybrid
 hello    hello     5   
 hi       hi        7   
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用IF/ELSE,但我似乎无法正确使用语法

Mat*_*lie 44

在T-SQL中,IF命令用于编程控制.例如:

  • IF x THEN doSQLStatement1 ELSE doSQLStatement2


在SQL语句中,您需要CASE.

CASE WHEN a > b THEN a ELSE b END
Run Code Online (Sandbox Code Playgroud)


Yar*_*lav 9

试试这段代码:

SELECT column1, column2,
       (CASE WHEN column3 > column4 THEN column3 ELSE column4 END)
  FROM Table1
Run Code Online (Sandbox Code Playgroud)

结果:

COLUMN1   COLUMN2  Hybrid
 hello     hello      5
  hi         hi       7
Run Code Online (Sandbox Code Playgroud)

这里有 SQL Fiddle的完整示例.