从表中选择行并检查sql中列的条件

时间:2015-03-17 07:07:54

标签: sql sql-server database ssms

我必须检查表中的某些行并检查每行的if-else条件

表:report

专栏: sl.nocounttotal_countcalls

示例数据:

sl.no       count       total_count calls
----------- ----------- ----------- -----------
1           2           6           4
2           2           7           5
3           4           9           3

我必须检查是否有条件

 if total_count > 6
 select 'Y
 else 
select 'N'

我得到单行的正确答案。如果有多行,则无法检查所有行,它只检查我表格的最后一行。

4 个答案:

答案 0 :(得分:1)

使用CASE表达式

SELECT
    *,
    CASE WHEN total_count > 6 THEN 'Yes' ELSE 'N' END
FROM report

答案 1 :(得分:1)

您可以使用CASE。您可以阅读documentation

SELECT *, 
       CASE WHEN total_count > 6 THEN 'Y' ELSE ' N' END
FROM   Report

答案 2 :(得分:1)

"inline if"的SQL版本为case

select  *
,       case
        when total_count > 6 then 'Y'
        else 'N'
        as IsTotalCountGreaterThanSix
from    YourTable

答案 3 :(得分:1)

你必须使用CASE.It在t-SQL中像if-else一样工作。 MSDN

例如:

SELECT [num],[count], [total_count], [calls], CASE WHEN [total_count] > 6 THEN 'Y' ELSE 'N' END FROM t