读书人

请大哥们帮帮小弟解决一个SQL的条

发布时间: 2012-02-02 23:57:14 作者: rapoo

请,各位高手大哥们,帮帮小弟解决一个SQL的条件表达式。
内容: 表A 字段 a b c d
客户 客户 100 100
无 客户 100 100
客户 无 100 100

条件表达式:如果(a=客户 And b=客户)结果是(C * 1.17 + d) 当(a=客户 And b <> 客户)结果是(C * 1.17)当(a <> 客户 and b=客户)结果是 d.


请大家帮帮忙,这条SQL的条件表达式怎样写。

[解决办法]
select a,b,c,d, '结果 '=case when a= '客户 ' and b= '客户 ' then C * 1.17 + d
when a= '客户 ' And b <> '客户 ' then C * 1.17
when a <> '客户 ' and b= '客户 ' then d end
from 表A
[解决办法]

select * ,case when a= '客户 ' And b= '客户 ' then C * 1.17 + d
when a= '客户 ' And b <> '客户 ' then C * 1.17
when a <> '客户 ' and b= '客户 ' then d end as xx
from tab
[解决办法]
--这样?

select
case
when a= '客户 ' And b= '客户 ' then C * 1.17 + d
when a= '客户 ' And b <> '客户 ' then C * 1.17
when a <> '客户 ' and b= '客户 ' then d
end
from 表
[解决办法]
case when a=客户 And b=客户 then C * 1.17 + d when a=客户 And b <> 客户 then C * 1.17 when a <> 客户 and b=客户 then d end

[解决办法]
内容: 表A 字段 a b c d
客户 客户 100 100
无 客户 100 100
客户 无 100 100

条件表达式:如果(a=客户 And b=客户)结果是(C * 1.17 + d) 当(a=客户 And b <> 客户)结果是(C * 1.17)当(a <> 客户 and b=客户)结果是 d.
----
select case when a=客户 And b=客户 then C * 1.17 + d
case when a=客户 And b <> 客户 then C * 1.17
else d
end as kk
from t

读书人网 >SQL Server

热点推荐