【发布时间】:2020-07-20 11:56:55
【问题描述】:
我在 Postgres 中有一个订单表,其中订单号和状态为列。如果下新订单,则默认状态为已下订单和已分配货物。
订购 12345
date order status
2020-06-01 12345 Goods Assigned
2020-06-01 12345 Order placed
订购 543223
date order status
2020-05-02 54321 Reached pickup hub
2020-05-01 54321 Goods Assigned
2020-05-01 54321 Order placed
我想知道订单是否从发件人处发出。因此,如果我们在“已下订单”和“已分配货物”之后有任何状态,我想创建一个名为“已启动”的列,其值为“是”。 Else No 如果在 Select 语句中只有以下两个条件
order Started
12345 No
54321 Yes
由于“已下订单”和“已分配货物”在所有订单中都可用,因此我无法使用 NOT IN 运算符。有没有其他方法可以得到报告。
【问题讨论】:
-
如果一个订单有两个以上的条目,说“是”就足够了吗?
-
在某些情况下,前两个状态可能会重复,例如“已下订单”“已下订单”
标签: sql postgresql group-by