You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Hasura单查询:关联A、B表筛选b_num < a_num的B表数据

实现符合条件的Hasura关联查询

如果已经在Hasura控制台中给B表的a_id字段设置了指向A表a_id的外键关联,直接用下面的GraphQL查询就能筛选出b_num < a_num的B表行数据:

query FilterQualifiedBRows {
  B(where: {
    a: { a_num: { _gt: b_num } }
  }) {
    b_id
    b_num
    a_id
    # 可选:关联查询对应的A表数据
    a {
      a_id
      a_num
    }
  }
}

这个查询的逻辑是:利用Hasura自动生成的关联字段a(对应A表),通过_gt条件判断A表的a_num大于当前B行的b_num,等价于b_num < a_num。

如果需要从A表出发,查询每个A行对应的符合条件的B表数据,可以用这个查询:

query GetAWithQualifiedB {
  A {
    a_id
    a_num
    # 只筛选关联的B表中b_num小于当前a_num的行
    B(where: { b_num: { _lt: a_num } }) {
      b_id
      b_num
      a_id
    }
  }
}

注意事项

  • 必须先在Hasura的Data页面中,为B表的a_id字段建立指向A表a_id的外键关系,Hasura才会生成这些关联查询字段。

内容的提问来源于stack exchange,提问作者lokesh kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:15:32