【问题标题】:how to write a if condition within a select statement?如何在 select 语句中编写 if 条件?
【发布时间】:2011-08-08 06:17:51
【问题描述】:

我有一列需要填充 ture/false/(N/A) 数据。此列是 select 语句的一部分 那么,我该如何实现呢?

SELECT distinct 
program_id, 
prog_name,
Eitc_Active_Switch as Prog_Status,
progmap.client_id,
progmap.ORG_ID,
sec.calwinexists_ind as interface,
sec.Client_name
FROM ref_programs prog (nolock)
LEFT OUTER JOIN ref_county_program_map progmap (nolock)         
ON progmap.program_id=prog.prog_id AND progmap.CLIENT_ID=prog.CLIENT_ID 
INNER join sec_clients sec (nolock)
on sec.client_id=progmap.Client_id

'sec.calwinexists_ind as interface'是列。应该只为三个记录(AMC、AMBD、ACMNI)和“N/A”显示真/假 其余记录

谁能帮帮我?

【问题讨论】:

  • 要使用代码标签,突出显示文本并按下类似 {} 的按钮,或者将文本缩进 4 个空格。

标签: sql select if-statement conditional-statements


【解决方案1】:

您能否使用 CASE WHEN 控件。看一看:http://dev.mysql.com/doc/refman/4.1/pt/control-flow-functions.html

【讨论】:

    【解决方案2】:

    您应该使用CASE 表达式。

    例子:

    SELECT name,salary,
    CASE    
    WHEN  salary <= 2000 THEN 'low'
    WHEN  salary > 2000 AND salary <= 3000 THEN 'average'
    WHEN  salary > 3000 THEN 'high'
    END AS salary_level
    FROM employees
    ORDER BY salary ASC
    

    通过这种方式,您应该调整您的查询以满足您的需求。

    【讨论】:

    • 有没有办法添加“Else”,即默认语句?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 2020-01-08
    • 2013-09-21
    • 2016-06-28
    • 2022-11-29
    相关资源
    最近更新 更多