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

MySQL多表JOIN查询实现:获取Kando中Product launch看板的卡片信息

SQL查询问题解决方案

原查询的错误点

  • 同时混用隐式连接(逗号分隔多表)和显式JOIN语法,连接逻辑混乱,会产生大量无效的笛卡尔积数据
  • 缺少card表与列、用户表的关联条件,无法正确匹配卡片所属的列、创建人和分配人
  • 仅实现了创建人的部分查询逻辑,未覆盖分配成员的查询需求
  • 子查询写法不符合规范,缺少FROM子句,无法正常执行

正确查询语句

SELECT 
    c.description AS 卡片详情,
    col.column_title AS 卡片所在列标题,
    u_creator.UserName AS 卡片创建人,
    GROUP_CONCAT(DISTINCT u_assignee.UserName SEPARATOR '、') AS 卡片分配成员
FROM board b
INNER JOIN `column` col ON b.BoardID = col.boardID
INNER JOIN card c ON col.columnID = c.columnID
INNER JOIN `user` u_creator ON c.Creator = u_creator.userID
-- 卡片分配人多对多关联逻辑,如是一对一关联可调整为直接关联card表的assignee字段
LEFT JOIN card_assignee ca ON c.cardID = ca.cardID
LEFT JOIN `user` u_assignee ON ca.userID = u_assignee.userID
WHERE b.boardname = 'Product launch'
GROUP BY c.cardID, c.description, col.column_title, u_creator.UserName;

适配说明

如果你的表结构中卡片和分配人是一对一关联(即card表存在assignee_id字段直接关联用户表),可以删除card_assignee相关的连接逻辑,将分配人关联修改为LEFT JOIN user u_assignee ON c.assignee_id = u_assignee.userID,同时去掉GROUP BY和GROUP_CONCAT相关代码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:36:07