gpt4 book ai didi

mysql - 如何将一列内连接到两个不同的列?

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

我有两个表:

**projects**

|Equity_holders| Financer |
|--------------|-----------|
|Company 1 | Company 7 |
|Company 2 | Company 9 |
|Company 3 | Company 4 |

**entities**

|name | country |
|-------------|---------|
|Company 1 | USA |
|Company 2 | Italy |
|Company 3 | UK |
|Company 4 | Nigeria|
|Company 5 | Brazil |
|Company 6 | China |
|Company 7 | France |
|Company 8 | China |
|Company 9 | Germany|

我希望我的显示表看起来像:

|Equity_holders| country |Financer     | country |
|--------------|---------|-------------|---------|
|Company 1 | USA |Company 4 | Nigeria|
|Company 2 | Italy |Company 7 | France |
|Company 3 | UK |Company 9 | Germany|

我已成功使用 INNER JOIN 将“股权持有人”列与实体名称进行匹配并显示相应的“国家/地区”:

SELECT projects.Equity_holders,entities.country, projects.Financer,entities.country
FROM projects
INNER JOIN entities ON projects.Equity_holders LIKE CONCAT('%', entities.name, '%')
INNER JOIN entities A ON projects.Financer LIKE CONCAT('%', entities.name, '%' )

但无法让“Financer”列显示正确的对应国家/地区。它只是复制“Equity_Holders”列。我感觉选择查询有问题,但不知道要更改什么。

最佳答案

您可以尝试以下操作 - 您需要将第二个实体别名为 e1 并使用 e1.country 作为country1

SELECT projects.Equity_holders,entities.country, projects.Financer,e1.country
FROM projects
INNER JOIN entities ON projects.Equity_holders=entities.name
INNER JOIN entities e1 ON projects.Financer=e1.name

关于mysql - 如何将一列内连接到两个不同的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55044727/

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