当前位置: 首页 > 面试题库 >

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

岳硕
2023-03-14
问题内容

可以说我在某张桌子上有很多选择。列的一个值是使用复数logc及其称为 ColumnA 来计算的。现在,对于另一列,我需要 ColumnA中
的值,并向其中添加一些其他静态值。

示例SQL:

select table.id, table.number, complex stuff [ColumnA], [ColumnA] + 10 .. from table ...

[ColumnA] + 10 是什么即时寻找。复杂的东西是一个巨大的案例/当块。

有想法吗?


问题答案:

如果要引用该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看起来会更干净。



 类似资料:
  • 问题内容: 我想将一列的值除以另一列的值,并将结果显示为单独的列 前任: 现在我想将总百分比除以屏幕编号,然后在另一列中显示结果 问题答案:

  • 如果输入数据看起来像这样: 我怎样才能把它变成这样?

  • 如何在同一表中从一列插入值到另一列? 说我有: 我要求: 换句话说,我想复制'Suburb2'和'Date',并将它们分别作为新行插入'Date'和'suburban'。 我知道我可以通过首先复制到临时列/s并稍后清理来实现这一点,但我想知道是否有一种方法可以在一个查询中实现这一点? 我试过了 但得到的列“日期”不存在错误。

  • 我有一个非常简单的问题。然而,我所能找到的都是非常复杂的答案,并不完全符合我的需求。 最接近的,我在这里发现: 弗洛德尔和埃迪的回答(data.table) 但是,我想额外指定如何根据不同列中的值处理指定列中的NA。 我有一个data.table,其中包含NA列,其中< code>fac是一个因子变量。 我想做的是根据< code>iso3c中的值将值< code>D和< code>E分配给< c

  • 问题内容: 我有一个表,其中包含商店中每件商品的单价和其他详细信息。 另一个包含每个订单中包含的项目的详细信息。 现在我要计算 请注意,我希望它成为表本身的一部分,而不是作为其他视图或查询。我怎样才能做到这一点?我为此研究了触发器和其他机制,但是它们是否适用于不同表中的值,尤其是在存在此类约束的情况下? 我尝试过根据另一列计算出的Column进行以下触发吗?: 但这似乎没有用 问题答案: 这是如何

  • 问题内容: 如何将值从一列复制到另一列?我有: 我希望有: 我应该有哪些mysql查询? 问题答案: 有关代码的简短答案是: 这是表名,周围是重音符号(又称“-”),因为这是MySQL惯例,用于转义关键字(在这种情况下为关键字)。 请注意,这是非常危险的查询,它将擦除表每行中列中的所有内容,并替换为(无论其值如何) 使用子句将查询限制为仅特定的行集更为常见: