SQL Server 2005计算列结果来自另一个表字段的值的聚合

4 t-sql sql-server-2005 calculated-columns aggregate-functions

对不起,问题很长.

我想我会在这个问题上失败,但是关于这个机会.

是否可以将表中计算字段的计算结果应用于另一个表中的字段.

你有一个名为'mug'的桌子,这里有一个名为'color'的孩子(这会让我的英国头受伤,但供应商来自美国,你打算做什么?)而这反过来又有一个孩子叫''尺寸'.每个表都有一个名为sold的字段.

对于销售的特定颜色和尺寸的每个马克杯,size.sold递增1.

您希望color.sold是SUM size.sold WHERE size.colorid = color.colorid的聚合

您希望mug.sold是SUM color.sold WHERE color.mugid = mug.mugid的聚合

反正有没有制作mug.sold和color.sold只是自己解决或者我将不得不与触发器捣乱?

小智 6

您不能让计算列直接引用不同的表,但您可以让它引用用户定义的函数.这里是一个实现这样的解决方案的例子的链接.

http://www.sqlservercentral.com/articles/User-Defined+functions/complexcomputedcolumns/2397/