【问题标题】:MYSql multiple join query kandoMYSql多连接查询kando
【发布时间】:2022-01-06 13:28:41
【问题描述】:

我有一个想不通的学校问题。

对于板上名为“产品发布”的每张卡片,列出卡片的详细信息、卡片所在列的标题、卡片的创建者以及卡片分配给的成员。

我正在努力解决这个问题。

select card.description, (select user.UserName where card.Creator = user.userID)
FROM card, user, board, `column`
JOIN board ON board.BoardID=`column`.boardID
where board.boardname = "Product launch"

任何帮助将不胜感激

【问题讨论】:

标签: mysql sql mysql-workbench


【解决方案1】:

10/10 诚实地承认您要求互联网为您做功课;-) 如果您表现出明显的尝试帮助自己的迹象,您会发现自己更有可能获得帮助。

如果您正在苦苦挣扎,请先采取一些合乎逻辑的小步骤并逐步建立它。从检索具有给定名称的板开始(是的,我知道你已经这样做了)-

SELECT *
FROM `Board`
WHERE `Board`.`BoardName` = 'Product launch'

那么下一步就是满足“针对板上的每张卡”的要求。根据您的 ERD,我们知道我们需要获取列才能访问卡片,因此接下来添加列 -

SELECT `Board`.`BoardName`, `Column`.`ColumnTitle`
FROM `Board`
INNER JOIN `Column`
    ON `Board`.`BoardID` = `Column`.`BoardID`
WHERE `Board`.`BoardName` = 'Product launch'

然后是卡片 -

SELECT `Board`.`BoardName`, `Column`.`ColumnTitle`, `Card`.*
FROM `Board`
INNER JOIN `Column`
    ON `Board`.`BoardID` = `Column`.`BoardID`
INNER JOIN `Card`
    ON `Column`.`ColumnID` = `Card`.`ColumnID`
WHERE `Board`.`BoardName` = 'Product launch'

然后继续添加创建者的过程,然后通过 CardAssignment 添加成员。添加成员时,您可能需要查看GROUP BYGROUP_CONCAT

如果你继续挣扎,不要只是说我想不通。试一试,然后回来详细说明您尝试过的内容以及未按预期工作的内容。研究和尝试是学习体验的重要组成部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-02
    • 2013-01-18
    • 2010-12-30
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多