您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将一列的值用于另一列(SQL Server)?

将一列的值用于另一列(SQL Server)?

如果要引用该SELECT子句中计算出的值,则需要将现有查询移到子SELECT中:

SELECT
    /* Other columns */,
    ColumnA,
    ColumnA + 10 as ColumnB
FROM
(select table.id, table.number, complex stuff [ColumnA].. from table ...
) t

t即使您不打算使用该表,也必须在该表中引入别名(在上面的中,在右括号之后)。

(等效地-假设您使用的是sql Server 2005或更高版本-您可以将现有查询移至CTE中):

;WITH PartialResults as (
     select table.id, table.number, complex stuff [ColumnA].. from table ...
)
SELECT /* other columns */, ColumnA, ColumnA+10 as ColumnB from PartialResults

如果您已经完成了多个级别的部分计算,则CTE看起来会更干净,即,如果您现在已经有了依赖于ColumnB的计算来包含在查询中,那么CTE看起来会更干净。

SQLServer 2022/1/1 18:45:10 有374人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶