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

如何通过SQL获取指定assignmentId关联任务的全部关联分配记录?

解决通过AssignmentId获取关联任务及所有分配记录的问题

你的问题很典型——用INNER JOIN加WHERE assignmentId = 1时,只会筛选出assignmentId为1的那些分配记录,而不是这些任务对应的所有分配记录。要实现你的需求,得先定位到目标assignment关联的所有任务,再拉取这些任务的全部分配数据。

正确的查询语句

SELECT t.*, a.*
FROM task t
JOIN assignment a ON t.taskId = a.taskId
WHERE t.taskId IN (
    SELECT taskId FROM assignment WHERE assignmentId = 1
);

逻辑解释

  1. 子查询SELECT taskId FROM assignment WHERE assignmentId = 1先找出所有和assignmentId=1关联的任务ID(也就是832和114)。
  2. 外层查询通过JOIN关联任务表和分配表,筛选出这些任务ID对应的所有分配记录,同时保留任务的详情。

测试数据下的返回结果

按照你提供的数据,这个查询会返回以下行:

assignmentIdtaskIdbody
1832lorum
2832lorum
3832lorum
1114whoops

这样就完整包含了任务832的所有3条分配记录,以及任务114的分配记录,完全满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 08:58:11