来自 table 的 select 行并检查 sql 中列的条件

select rows from table and check if condition at column in sql

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

TABLE: 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'

我得到了单行的正确答案。如果有多行它不能检查全部,它只检查我的 table.

的最后一行

使用CASE表达式

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

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

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

"inline if" 的 SQL 版本是 CASE:

SELECT 
    *,       
    CASE WHEN total_count > 6 THEN 'Y'
    ELSE 'N'
    END AS IsTotalCountGreaterThanSix
FROM YourTable;

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

例如:

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