gpt4 book ai didi

mysql - 将 JOIN 与获取 "child"行相结合

转载 作者:行者123 更新时间:2023-11-29 10:49:33 27 4
gpt4 key购买 nike

为了使问题更简单,我们假设我们有两个表,其中列很少且具有一对多关系......

  1. first 包含字段 idsome_fieldsecond_id
  2. second 包含字段 idparent_id

首先我会

SELECT first.id, first.some_field, second.id, second.parent_id 
FROM first INNER JOIN second ON first.second_id = second.id
WHERE some_field="some_val"

但之后我需要从两个表的连接中获取 first.idfirst.some_fieldsecond.id,其中 parent_id 是上述查询结果的相应列中的值。

这可以通过一个查询来完成吗?或者(在 PHP 方面)我需要在结果集中获取列并执行如下操作?

SELECT first.id, first.some_field, second.id, second.parent_id 
FROM first INNER JOIN second ON first.second_id = second.id
WHERE parent_id IN (<many_ids_here>)

最佳答案

您可以创建嵌套查询,如下所示:

SELECT first.id, first.some_field, second.id, second.parent_id 
FROM first INNER JOIN second ON first.second_id = second.id
WHERE parent_id IN (SELECT DISTINCT second.parent_id FROM first INNER JOIN second ON first.second_id = second.id WHERE some_field="some_val")

关于mysql - 将 JOIN 与获取 "child"行相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43980142/

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