在SQL Server 2000中逐行读取表

时间:2012-03-22 08:02:11

标签: sql-server-2000

我有一个表,我想逐行阅读以搜索特定的匹配。

以下是我的表和列的结果。 Pos_Scan表示在销售点扫描的内容和数量

UniqueID   INGREDINETID          KITCHENITEMID       QUANTITY  POS_SCAN    STATUS
1          510                   0111                1         5           0
2          54491472              0111                1         2           0
3          6001069201906         6006749006031       1         0           0 
4          54491472              6006749006031       1         5           0

这里记录的不仅仅是这些记录,我想要做的是能够循环遍历此表并拉出具有相同kitchenitemid且具有pos_scan >= quantity的行,这样就形成了一个完整的配方例如,第1行和第2行将是一个完整的配方,但第3行和第4行将不是一个配方,因为pos_scan在uniqueid 3的ingredientid为0

请帮帮我

谢谢

1 个答案:

答案 0 :(得分:1)

如果我在评论中重建的需求建议接近正确,那么类似下面的内容就可以了:

 SELECT
     KitchenItemID,MIN(Satisfied),MAX(Satisfied)
 FROM
    (
         SELECT
             KitchenItemID,
             CASE WHEN pos_scan >= Quantity THEN 1 ELSE 0 END as Satisfied
         FROM
             OriginalTableNotNamdInQuestion
    ) t
 GROUP BY
     KitchenItemID
 HAVING
     MIN(Satisfied) = MAX(Satisfied) --Change this to < to find incomplete "recipes"