Есть таблица
CREATE TABLE table1 (a int, b int, c int)
Как написать запрос, возвращающий 1 столбец, в котором если а<1 , то стояло бы значение столбца b, если нет, с.
Просьба больно не бить, если вопрос уж совсем ламерский, честно лопатил faq-и, ответа не нашел.
Заранее спасибо.
Здравствуйте, yorik.kiev.ua, Вы писали:
YKU>Как написать запрос, возвращающий 1 столбец, в котором если а<1 , то стояло бы значение столбца b, если нет, с.
SELECT
CASE
WHEN a < 1
THEN b
ELSE c
END
FROM table1
... [ RSDN@Home 1.1.4 rev 302 ]
Здравствуйте, yorik.kiev.ua, Вы писали:
select
case
when a<1 then b
else c
end as abc
from table1
Здравствуйте, yorik.kiev.ua, Вы писали:
YKU>Есть таблица
YKU>CREATE TABLE table1 (a int, b int, c int)
YKU>Как написать запрос, возвращающий 1 столбец, в котором если а<1 , то стояло бы значение столбца b, если нет, с.
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
пример:
USE pubs
GO
SELECT 'Price Category' =
CASE
WHEN price IS NULL THEN 'Not yet priced'
WHEN price < 10 THEN 'Very Reasonable Title'
WHEN price >= 10 and price < 20 THEN 'Coffee Table Title'
ELSE 'Expensive book!'
END,
CAST(title AS varchar(20)) AS 'Shortened Title'
FROM titles
ORDER BY price
GO
... << RSDN@Home 1.1.4 beta 4 rev. 309>>
Здравствуйте, stasukas, Вы писали:
S>S>CASE
S> WHEN Boolean_expression THEN result_expression
S> [ ...n ]
S> [
S> ELSE else_result_expression
S> ]
S>END
S>
Блин, а я через if все пытался... Сенкс!