Sql server SQL Server:计算
以下代码有什么问题 我试图根据现有列计算佣金,并将其加载到临时表中,当我运行查询时,它会给出一个错误消息-无效的列名“乘数”Sql server SQL Server:计算,sql-server,Sql Server,以下代码有什么问题 我试图根据现有列计算佣金,并将其加载到临时表中,当我运行查询时,它会给出一个错误消息-无效的列名“乘数” 不能定义名称乘数并在同一语句的计算中使用它。只需使用两个CASE语句: SELECT *, Multiplier = Case PRODUCTNAME When 'Voice' then 2.4 When 'Cable' then 4.8 Else 1 END, Case PRODUCTNAME When
不能定义名称乘数并在同一语句的计算中使用它。只需使用两个CASE语句:
SELECT *, Multiplier =
Case PRODUCTNAME
When 'Voice' then 2.4
When 'Cable' then 4.8
Else 1
END,
Case PRODUCTNAME
When 'Voice' then 2.4
When 'Cable' then 4.8
Else 1
END * COMP_RATE as Commission
into #CommissionsFTMJul18
FROM [DBPO_TRANS].[dbo].[CREDITS]
您需要一个嵌套查询,在其中定义乘数或重新计算尝试使用该值的列的乘数值。我猜case语句的副本没有指定列名。这可能是个错误。试着给一个专栏命名谢谢,它很有效。。。
SELECT *, Multiplier =
Case PRODUCTNAME
When 'Voice' then 2.4
When 'Cable' then 4.8
Else 1
END,
Case PRODUCTNAME
When 'Voice' then 2.4
When 'Cable' then 4.8
Else 1
END * COMP_RATE as Commission
into #CommissionsFTMJul18
FROM [DBPO_TRANS].[dbo].[CREDITS]