gpt4 book ai didi

MySQL 通过左连接将多列匹配为一列

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

我有 2 张这样的 table

name  | fNatId | mNatId
=======================
Smith | 1 | 1
Doe | 1 | 0
Owen | 0 | 2

还有这个

id | countryName
================
0 | U.S.
1 | U.K.
2 | Canada

我想将第一个表翻译成这个

Name    | Father's Nationality | Mother's Nationality
=====================================================
Smith | U.K. | U.K.
Doe | U.K. | U.S.
Owen | U.S. | Canada

我该怎么做?使用两个LEFT JOIN的 throw Not unique table/alias错误。仅使用一列会将两列匹配到父亲或母亲的列。

最佳答案

您需要为您的表使用唯一的别名。考虑到您的第一个表为users,第二个表为countries,您是否尝试过这种方式?以下内容应该完全符合您的要求。

SELECT u.name as Name, c1.countryName as FathersNationality, c2.countryName as MothersNationality

FROM users as u

LEFT JOIN countries as c1 ON c1.id = u.fNatId

LEFT JOIN countries as c2 ON c2.id = u.mNatId

关于MySQL 通过左连接将多列匹配为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40646532/

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