在SQL Server 2012中跨不同行的计算字段
原因很复杂,不会过度执行,但我正在根据物料清单进行成本核算报告。在SQL Server 2012中跨不同行的计算字段
BOMID ItemID Qty Height Width Depth Price
111 component 2 0
component wood 1 100 100 10 £3.69
因此,大家可以看到,对于这个项目材料清单被称为111
和内它,它使用2 x
的组件。下面的行是该组件的详细信息。因此,对于每个项目,价格是3.69
。
我需要的是一种在上面的行上计算3.39
数量为2的方法。这里的规则是ItemID
对于其组件始终具有匹配的BOMID
。
我试图概括数据,使其更容易理解。
你可以做自联接
select *,(a.Qty * a.Price) as col1 from test a join test b on a.BOMID = b.ItemId
这里是Sql Fiddle
嗨,对不起,我对这个网站很陌生,接受它作为答案,我的查询结果令人印象深刻,因为“热情的业余爱好者!使用了一些像CTE和自我加入的好功能提到然后很多计算字段:)谢谢百万! – JustAnAverageSQLuser 2014-10-03 11:40:20
@JustAnAverageSQLuser这很好,你用了很多其他的变化 – DevelopmentIsMyPassion 2014-10-03 12:23:44
告诉我们预期的类似上面的输出 – DevelopmentIsMyPassion 2014-10-02 08:53:20
东西真的,但有场“总价格”显示价格*数量的商品ID的那个匹配bomID – JustAnAverageSQLuser 2014-10-02 09:05:17
但是你想显示两行? – DevelopmentIsMyPassion 2014-10-02 09:14:04