【发布时间】:2009-07-23 17:29:59
【问题描述】:
情况就是这样。
表a
可乐1可乐2
表b
colb1 colb2 colb3 colb4 colb5
表c
colc1 colc2 colc3
对于 cola2 = colb1 和 colb4 = colc12 的每个值,获取 colb2
对于 cola2 = colb1 和 colb5 = colc3 的每个值,获取 colb3
为每个 cola2 计算 (colb3- colb2) * size * factor1。
计算每个 cola2 的 SUM((colb3- colb2) * size * factor1)
计算每个 cola2 的 AVG((colb3- colb2) * size * factor1)
(colb3- colb2) * size * factor1 的值也需要存储在表格中以供其他计算使用。我尝试使用多语句表值用户定义函数。但无法在同一个表中返回聚合值和单个值。如何在同一个连接查询中使用多个 UDF?我还有什么其他功能可以使用吗?
样本数据:
表a
id1 prod1
表 b
id1 日期从日期到 id1 id2
id2 日期从日期到 id3 id4
表 c
id1 日期价格
id2 日期价格
id3 日期价格
id4 日期价格
表 b(id1) 匹配表 c(id1)
表 b(id2) 匹配表 c(id2)
我需要从表 c 中获取表 b 中两个 id 的价格,这样我就可以减去这些值并找到结果的总和。 感谢任何帮助。
【问题讨论】:
-
您缺少一些重要信息。首先,表 c 是如何连接到其他表的?
-
表 b(colb4, colb5) 与表 c (colc2, colc3) 有外键关系
标签: sql-server-2008 user-defined-functions