【发布时间】:2017-06-15 02:37:23
【问题描述】:
我工作的公司转售数据,因此同一“单位”可能会被售出两次。我正在尝试进行盈利能力计算,但由于表格的设置方式而感到头疼。
基本上我们有两个表,我们称它们为 Data 和 Sale。
数据:
dataid cost
1 $1.00
2 $2.00
销售:
saleid dataid price
1 1 $5.00
2 2 $3.00
3 2 $4.00
我需要做的是以仅在首次销售时计算成本的方式加入表格。像这样:
利润:
saleid dataid price cost profit
1 1 $5.00 $1.00 $4.00
2 2 $3.00 $2.00 $1.00
3 2 $4.00 $0.00 $4.00
我正在处理近十亿行,因此性能也是一个问题。我意识到表结构非常愚蠢,但重构数据库不是一种选择。有什么建议吗?
【问题讨论】:
-
“第一”是什么意思?在上升的saleid? SQL 表没有顺序。您的插图是有序的 SQL 结果集(查询结果)吗?它的排序来源是什么?
标签: sql sql-server database sql-server-2012 data-warehouse