【问题标题】:I want to select data in 1 table我想在 1 个表中选择数据
【发布时间】:2021-11-15 02:11:00
【问题描述】:

结构表

Pk     id <------------| primary Key
       name            |
       country         |
fk     parent_id <-----| forigen key

数据

id| name    | country    | parent_id
1 | Diva    | Portugal   | 2
2 | Alex    | Georgia    | 2
3 | Bianca  | Palau      | 4
4 | Tony    | Montenegro | 1

结果

id| name    | country    | parent_id | name_parent_id |
1 | Diva    | Portugal   | 2         | Alex           |
2 | Alex    | Georgia    | 2         | Alex           |
3 | Bianca  | Palau      | 4         | Tony           |
4 | Tony    | Montenegro | 1         | Diva           |

这个案例的结果

对此有何建议?

【问题讨论】:

  • 使用相关子查询。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: mysql sql select subquery toad


【解决方案1】:

您可以使用同一个表两次以选择父名称:

SELECT
    c.id,
    c.name,
    c.country,
    c.parent_id,
    p.name AS name_parent_id
FROM
    YourTable AS c
    INNER JOIN YourTable AS p ON c.id = p.parent_id

我使用c 作为孩子的别名,使用p 作为父母的别名。
注意:如果存在不需要父母。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 2017-05-05
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多