如何比较sql中的三列

时间:2016-04-25 08:27:28

标签: c# sql sql-server

我希望比较表格中 Col2 的比较值的3列值。

Col1 Col2 Col3

12 < 25 TRUE

25 > 20 TRUE

15 = 25 FALSE

SELECT (case when Col2 = '<' then  Col1 < Col3 else  Col1  end)

任何人都可以帮助我吗? 高级谢谢。

1 个答案:

答案 0 :(得分:2)

您可以尝试使用case,如下所示:

 case 
   when Col2 = '<' then
     Col1 < Col3
   when Col2 = '>' then
     Col1 > Col3
   when Col2 = '=' then
     Col1 = Col3
 end case

查询可以是

 select case 
          when col2 = '=' then
            case when (col1 = col3) then 1 else 0 end
          when col2 = '>' then
            case when (col1 > col3) then 1 else 0 end
          when col2 = '<' then
            case when (col1 < col3) then 1 else 0 end
          else
            0  
        end 
   from MyTable

另一种可能是

  (Col2 = '<' and (Col1 < Col3)) or
  (Col2 = '>' and (Col1 > Col3)) or
  (Col2 = '=' and (Col1 = Col3))