来自 table 的 select 行并检查 sql 中列的条件
select rows from table and check if condition at column in sql
我必须检查 table 中的某些行并检查每行的 if-else
条件
TABLE: report
列:
sl.no
、count
、total_count
、calls
示例数据:
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
我必须检查 table 中的某些行并检查每行的 if-else
条件
TABLE: report
列:
sl.no
、count
、total_count
、calls
示例数据:
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