Как написать условие if в операторе выбора? - PullRequest
10 голосов
/ 19 апреля 2011

У меня есть столбец, который должен быть заполнен данными ture / false / (N / A). Этот столбец является частью оператора выбора Итак, как мне этого добиться?

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' для остальных записей

Кто-нибудь может мне помочь?

Ответы [ 2 ]

25 голосов
/ 19 апреля 2011

Вы должны использовать 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

И таким образом вы должны адаптировать свой запрос в соответствии со своими потребностями.

1 голос
/ 19 апреля 2011

Не могли бы вы использовать элемент управления CASE WHEN. Взгляните на: http://dev.mysql.com/doc/refman/4.1/pt/control-flow-functions.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...