SQL表,用于计算另一个SQL表的值

时间:2013-12-04 11:58:24

标签: sql sql-server

我想创建一个动态表,从静态表中获取前5列并将其乘以值字段。

1。静态表(Cases):

Column A; Column B; Column C; Column D; Column E; Value; Jan (cases);...;Dec(cases)

2。动态表(value * cases by month)

Column A; Column B; Column C; Column D; Column E; Jan (value * cases);...;Dec(value * cases)

在excel中,我会在它旁边逐个单元地计时。但是每次上传新的静态文件时我都希望sql创建/更新数据库。

确定更新
在审查之后我需要一些不同的东西,我需要拿两张桌子并相互积累 一个表格为cases,其他表格位于product valuecases table:
账户;渠道; [PROD CODE] (这是我的密钥); 扬;二月;三月; 4月;可以;君; 7月; 8月; 9月;十月; 11月;癸
price table:
年; SKU (这是我的密钥); [产品名称];的月;二月;三月; 4月;可以;君; 7月; 8月; 9月;十月; 11月;分解;
数值位于个别月份。
换句话说,我需要cases tableJAN * price tableJan其中cases tableprimary key = price tableprimary key

1 个答案:

答案 0 :(得分:0)

看一下计算columns

或者,如果您需要在计算中包含另一个表,则可以创建用户定义的函数:

CREATE FUNCTION dbo.GetValue(INT @code, INT @rec)
RETURNS INT
AS ...

然后你会改变你的表添加列:

ALTER TABLE dbo.Mytbl
   ADD MyCalcCol AS dbo.GetValue(CodeVal, RecVal)

另一个想法..为什么不只是创建一个视图,甚至是一个索引视图。

CREATE VIEW vwTableYear AS 
   SELECT [Month number in cases]*[price of product] AS MonthlyValue 
   FROM myTableYear