您好我有两列我连接A& B,这是为了找出客户ID。 我需要在该计算字段上做一个案例陈述。 可以一次完成吗?
Column A
Column B
Column C = Column A & Column B
Column D = Case When (column C) = 001-002 then XXXX
D栏无效。问题是,如果C列是计算字段,我可以在单个查询中计算C列以给出D列吗?
由于
答案 0 :(得分:2)
你应该这样做......因为计算的列不会有助于进一步的计算
Column A
Column B
Column C = Column A & Column B
Column D = Case When (Column A & Column B) = 001-002 then XXXX
答案 1 :(得分:0)
我认为,你所使用的逻辑应该有效,我看到的问题可能出现在“001-002”中。您是否将D列与001到002的减去值进行比较?如果没有,那么你应该用单引号括起来。
而且,根据您在T-SQL中编写的逻辑,您不需要计算C列。 因此,解决方案可能是:
Column A
Column B
--Column C = Column A & Column B --commented out
Column D = Case When (Column A+Column B) = '001-002' then XXXX END
您还可以在CASE Expression中使用ELSE条件。另外,我假设A列和B列是String数据类型(即CHAR / VARCHAR / NVARCHAR)。