gpt4 book ai didi

MySQL 加入。匹配两列中的两个条件

转载 作者:行者123 更新时间:2023-11-29 11:15:43 25 4
gpt4 key购买 nike

我正在尝试使用联接从两个表中获取数据。但我不知道该怎么做。我读过有关联接的内容,但由于我是新人,所以它没有任何意义。

我有两张 table 。

 Playgrounds           Inspection 

id u_id id playground_id
1 2 1 1
2 2 2 2

playgrounds表中,id是playground id并且是唯一的,u_id是playground的用户。

inspection表中,id是唯一的,playground_id用作playgrounds表id的外键。

我的问题是我必须将idu_id传递给playgrounds表中的查询,然后它应该从playground表中选择id 。然后它应该根据该 id 从 inspection 表中选择所有内容。

希望我已经正确解释了。

非常感谢任何帮助。

提前致谢

最佳答案

JOIN 操作,无论是 INNER JOINLEFT JOIN 还是 RIGHT JOIN,都具有这种整体语法。

   table_expression JOIN table_expression ON boolean_expression

当 bool 表达式为 true 时,JOIN 将两个表的匹配行连接成结果中的一行。

在您的情况下,您希望 ON 子句的 bool 表达式表示

  Playgrounds.id = Inspection.playground_id

因为这就是您如何知道 Inspection 中的行与 Playgrounds 中的行相关的方式。因此,类似的声明

 SELECT Inspection.id AS Inspection_ID,
Playgrounds.id AS Playground_ID,
Playgrounds.u_id AS User_ID
FROM Playgrounds
JOIN Inspection ON Playgrounds.id = Inspection.playground_id
WHERE Playgrounds.u_id = something
AND Playgrounds.id = something_else

看看进展如何?您的 SELECT 通过根据您在 ON 子句中选择的条件连接两个现有表的行来创建一个新表(有时称为结果集)。

您可以将任何内容放入 ON 子句中。你可以把

Playgrounds.id = Inspection.playground_id OR Inspection.id < 20

Playgrounds.id = Inspection.playground_id OR Inspection.scope = 'citywide'

例如(如果Inspection 表中有一个scope 列)。

但是,在掌握基本的 JOIN 操作之前,不要去那里。

关于MySQL 加入。匹配两列中的两个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39811993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com