我的数据库设置如下
CustomerNumber Bill_Apr Bill_Mar Bill_Feb Bill_Jan
我需要创建一个每月账单差异的新列。
如果我不能这样做,我是否需要重组数据库以将多个客户编号与每个月的帐单作为不同的行?我更愿意设置我可以跨列计算的地方。
答案 0 :(得分:1)
我建议您将表重组为每个客户每月1行。根据您目前的结构,明年1月会发生什么?你会覆盖这个价值吗?下个月您没有专栏会发生什么?您是否添加了一列,然后更新了计算列?
我会推荐以下结构:
CREATE TABLE Bills
(CustomerNumber int,
MonthYear varchar(30),
Bill double,
)
然后,您可以编写一个看起来像
的视图或查询SELECT CustomerNumber, VARIANCE(Bill) as BillVariance
FROM Bills
GROUP BY CustomerNumber
这将返回每个客户的所有账单的统计差异。