繁体   English   中英

select 订单详情 state 完整的所有订单

[英]select all orders where order details state is complete

orders:
id state

order_details:
id order_id state

order has_many order_details

我需要 select 所有订单及其订单详细信息 state 是否完整? 我的意思是,如果一个订单有 5 个订单详情,那么它的订单详情必须是完整的。

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

如果它是标准的 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) 
  )
  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM