【问题标题】:select all orders where order details state is complete选择订单详情状态完整的所有订单
【发布时间】:2022-01-24 01:16:33
【问题描述】:
orders:
id state

order_details:
id order_id state

order has_many order_details

我需要选择所有订单详情状态是否完整? 我的意思是如果一个订单有 5 个订单详情,那么它的订单详情必须是完整的。

以及如何在 elixir ecto 查询中实现这一点?

【问题讨论】:

  • 你能发布一个数据样本+预期结果吗?

标签: sql elixir ecto


【解决方案1】:

如果是标准 SQL,您可以通过以下查询获得所需内容:

select * from orders o
 where id in
 ( 
   select order_id from order_details od
   where state='complete'  
   group by order_id
   having count(1) = (select count(1) from order_details od2 where 
          od.order_id=od2.order_id) 
  )
  

【讨论】:

    猜你喜欢
    • 2018-01-06
    • 2023-04-02
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多