繁体   English   中英

SQL-基于计算字段的计算字段?

[英]SQL - Calculated field base on calculated field?

嗨,我有两列将A&B连接起来,这样做是为了找出客户ID。 然后,我需要在该计算字段上做一个case语句。 可以一次性完成吗?

Column A
Column B
Column C = Column A & Column B
Column D = Case When (column C) = 001-002 then XXXX

D列不起作用。 问题是,如果C列是一个计算字段,那么我可以在单个查询中从C列计算得出D列吗?

谢谢

您应该采用这种方式...因为计算列不会帮助进一步计算

Column A
Column B
Column C = Column A & Column B
Column D = Case When (Column A & Column B) = 001-002 then XXXX

我认为,您使用的逻辑应该起作用,我看到的问题可能在“ 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表达式内使用ELSE条件。 另外,我假设列A和列B具有String数据类型(即CHAR / VARCHAR / NVARCHAR)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM