gpt4 book ai didi

php - MySQL 将 3 个表与同一个表中的 2 个表组合起来

转载 作者:行者123 更新时间:2023-11-29 13:07:37 24 4
gpt4 key购买 nike

所以,我不善言辞,我会用图片来描述它。

这是我的数据库中的MATSH表。我的目标是用其他表中的名称替换 Mang_id、Voistkond_1_id 和 Voistkond_2_id。

MATSH.Mang_id = MANG.Mang_id

MATSH.Voistkond_1_id 和 Voistkond_2_id 与 VOISTKONNAD.Voistkond_id 中的相同

所有 3 个表都有主键和伪造键。

MATSH enter image description here

沃斯特康纳德

enter image description here

enter image description here

但是现在我尝试从表信息中进行选择,因为数字被替换,但是出现了问题。我的 Teine_voistkond 正在从 Voistkond_1_id 获取信息,而不是从 Voistkond_2_id 获取信息...

enter image description here

select MATSH.Matsh_id, MANG.Mang_nimi, MATSH.Voistkond_1_id, VOISTKONNAD.Voistkond_nimi  as Esimene_voistkond, MATSH. Voistkond_2_id, VOISTKONNAD.Voistkond_nimi  as Teine_voistkond, MATSH.Matsh_kuupaev, MATSH.Tulemus, MATSH.Muu_info
from MATSH
join MANG on MATSH.Mang_id = MANG.Mang_id
join VOISTKONNAD on MATSH.Voistkond_1_id = VOISTKONNAD.Voistkond_id;

但如果我使用

...
join VOISTKONNAD on MATSH.Voistkond_1_id = VOISTKONNAD.Voistkond_id
join VOISTKONNAD on MATSH.Voistkond_2_id = VOISTKONNAD.Voistkond_id;

这给了我

ERROR 1066 (42000): Not unique table/alias: 'VOISTKONNAD'

我尝试使用别名。它给了我。

Empty set (0.00 sec)

并用右连接和左连接。它再次给了我

Empty set (0.00 sec)

正如您现在可能可以理解的那样,我的问题在于 Teine_voistkond 没有显示它应该显示的名称。

我只是简单地发现错误了。

最佳答案

  select MATSH.*, MANG.*, VOISTKONNAD1.* , VOISTKONNAD.*
from MANG
INNER JOIN MATSH on MATSH.Mang_id = MANG.Mang_id
INNER JOIN VOISTKONNAD on MATSH.Voistkond_1_id = VOISTKONNAD.Voistkond_id
INNER JOIN VOISTKONNAD AS VOISTKONNAD1 ON MATSH.Voistkond_2_id = VOISTKONNAD1.Voistkond_id

关于php - MySQL 将 3 个表与同一个表中的 2 个表组合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22501622/

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