【发布时间】:2012-09-07 13:26:40
【问题描述】:
我认为可能有一种方法可以对其进行分区以找到我想要的东西,但我看不到它。我有一些关于产品集的稍微未标准化的数据:
SetItemID ComponentItemID quantity IsPrimary
123 234 1 1
123 345 2 0
456 567 3 1
456 678 2 0
我需要找到quantity 所描述的集合,例如,IsPrimary 组件的quantity > 'IsPrimary=0component'squantity.我还需要找到组件之间数量相等的集合等。如果需要,可以为此使用多个语句
到目前为止,我只有部分PARTITION 声明,它可能是也可能不是正确的方法,但我无法弄清楚如何比较集合内的数量:
WITH setdata as
(select *, row_number() OVER(
PARTITION by s.setitemid order by s.setitemid) position from set_table s )
// descending just to get newer sets
SELECT* from setdata order by setitemid desc
【问题讨论】:
标签: sql-server sql-server-2008 normalization database-partitioning