基于另一列乘以-1乘以-1
问题描述:
我正在编写一个SSRS报告,该报告将基于同一行中另一个字段的值更改其中一个字段的值。最好的方法是通过SQL来完成吗?基于另一列乘以-1乘以-1
即乘法FieldX
(浮点)由-1
如果FieldY
值与D
结束,DA
,或“DB”,等等
我最初考虑使用的情况下声明,不论我得到一个今天工作很困难。有任何想法吗? SQL已经使用联合,和和分组。
答
下面是如何在SQL中使用case
语句来完成此操作。你总是可以把or
分成他们自己的when...then
区块,但它也可以这样工作。请享用!
select
case
when right(FieldY, 1) = 'D'
or right(FieldY, 2) = 'DA'
or right(FieldY, 2) = 'DB'
then FieldX * (-1)
else FieldX
end as FieldX
from
table
现在,如果您想知道它是以'D'还是'D?'结尾?哪里?是任何字母,那么:
select
case
when right(FieldY, 1) = 'D' then FieldX * (-1)
when left(right(FieldY, 2), 1) = 'D' then FieldX * (-1)
else FieldX
end as FieldX
from
table
谢谢,我用第二个例子。简单,当你知道如何! – Audioillity 2009-08-18 14:22:29