typeorm - TypeORM:如何在多对一关系中查找不匹配的记录?
问题描述
我有一个名为 Orders 的表,它与 OrderHistory 具有多对一关系,与 OrderHistoryEvents 具有多对一关系
所以一个订单可能看起来像(简化的):
{
id: 234,
history: [
{ timestamp: 12345, event: { event_name: 'ORDER_CREATED' } },
{ timestamp: 12345, event: { event_name: 'ORDER_PREPARED' } },
],
},
{
id: 235,
history: [
{ timestamp: 12345, event: { event_name: 'ORDER_CREATED' } },
{ timestamp: 23456, event: { event_name: 'NOT_PREPARED_WARNING_SENT' } },
],
}
我需要找到订单
- 没有准备好(没有 ORDER_PREPARED 状态)并且
- 未发送警告(没有 NOT_PREPARED_WARNING_SENT 状态)
换句话说(或用 DeMorgan 的话说),我需要过滤掉具有 ORDER_PREPARED 或 NOT_PREPARED_WARNING_SENT(或两者)的订单。
我怎样才能写一个查询来完成这个?
解决方案
推荐阅读
- ios - 创建 CocoPods、Carthage、Swift Package Manager、Travis 和 Fastlane 支持的 iOS 框架
- html - HTML、CSS - 用于导航的大型灵活圆圈
- android - 如何通过手指滑动自定义自动滑动图像
- javascript - 使用 jQuery 与页面上的其他元素接触时隐藏元素
- python - 如何将点与线连接起来?
- clojure - 转换 JDBC 返回值
- javascript - Javascript % Discount of Subtotal 然后加上运费,
- apache-spark - 如何使用特定用户初始化 spark shell 以通过 apache spark 将数据保存到 hdfs
- sql - 无法将 SSMS 中的列转换为数据类型地理
- ruby-on-rails - 为什么 S3 会更改我的 CSV 的内容类型