我想知道以下是否可行
例如,我有一家鞋厂。在这家工厂我有一条生产线,这条生产线的每一步都被记录到oracle数据库中。
如果清选筛已完成生产步骤,则结果为=1
示例表
Shoe_nr production step result
1 1 1
1 2 1
1 3
2 1 1
2 2 1
2 3
3 1
3 2
3 3
现在的问题是,有没有可能过滤掉生产步骤3,其中只有鞋子通过了生产步骤2,结果等于1。
我知道如果能做到这一点可能很容易,但如果你不知道我发现这有点棘手。
谢谢,
克里斯
3条答案
按热度按时间jpfvwuh41#
是的,你可以用in和subselect来做
rdlzhqv92#
这可能是一种选择;参见代码中的注解(第1-12行表示示例数据;你已经有了,别打了。您可能感兴趣的查询从第13行开始。
1cosmwyk3#
如果你只是想
shoe_nr
如果满足条件,可以使用聚合和having
条款:如果你想让整行都和这个对应
shoe_nr
在步骤3中,请改用窗口函数: