gpt4 book ai didi

php - 有没有办法使用不同的 ID 别名获取 MySQL 记录

转载 作者:行者123 更新时间:2023-11-30 21:27:30 25 4
gpt4 key购买 nike

我正在尝试使用不同的别名获取记录,但它们是相关的。

我使用的服务器是 WAMP。我已经成功地将我的项目/脚本连接到 PhpMyAdmin 数据库,并且可以使用一些查询在我的 PHP 文件中看到一些记录并成功插入。

但是,当我尝试使用不同的别名获取记录时,出现如下错误:"MySQL said: #1066 - Not Unique table/alias:'teams'"?

您能否解释一下这是怎么回事,因为当我在数据库中检查这些记录的 ID 时,它们显示它们已连接/从另一个表中提取记录。

以下是我的 MySQL 查询,我尝试修改了几次,但每次都没有成功:

SELECT DISTINCT fixtures.fixture_id, fixtures.fixture_date,
fixtures.fixture_time, fixtures.home_teamID,
fixtures.away_teamID, fixtures.comp_id
From fixtures
JOIN teams ON fixtures.home_teamID = teams.team_id
JOIN teams ON fixtures.away_teamID = teams.team_id
JOIN competitions ON fixtures.comp_id = competitions.comp_id
ORDER BY fixture.id ASC

查询中的错误消息指出:

SELECT DISTINCT fixtures.fixture_id, fixtures.fixture_date, 
fixtures.fixture_time, fixtures.home_teamID,
fixtures.away_teamID, fixtures.comp_id
From fixtures
JOIN teams ON fixtures.home_teamID = teams.team_id
JOIN teams ON fixtures.away_teamID = teams.team_id
JOIN competitions ON fixtures.comp_id = competitions.comp_id
ORDER BY fixture.id ASC
LIMIT 0, 25

请向我解释我做错了什么,请注意我是使用 PHP 和 MySQL 的这个平台的新手。提前致谢。

最佳答案

如果你想加入同一个表的两个ime你需要别名

  SELECT DISTINCT fixtures.fixture_id
, fixtures.fixture_date
, fixtures.fixture_time
, fixtures.home_teamID
, fixtures.away_teamID
, fixtures.comp_id
, a.team_name home_team
, b.team_name away_team
From fixtures
JOIN teams a ON fixtures.home_teamID = a.team_id
JOIN teams b ON fixtures.away_teamID = b.team_id
JOIN competitions ON fixtures.comp_id = competitions.comp_id
ORDER BY fixture.id ASC

在此示例中,a 和 b 是同一个表的别名,以两种方式使用,一种用于 home_team,一种用于 way_team

对于@Tim Biegeleisen 建议的更紧凑的代码,您可以使用别名作为

  SELECT DISTINCT f.fixture_id
, f.fixture_date
, f.fixture_time
, f.home_teamID
, f.away_teamID
, f.comp_id
, a.team_name home_team
, b.team_name away_team
From fixtures f
JOIN teams a ON f.home_teamID = a.team_id
JOIN teams b ON f.away_teamID = b.team_id
JOIN competitions c ON f.comp_id = c.comp_id
ORDER BY f.id ASC

关于php - 有没有办法使用不同的 ID 别名获取 MySQL 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58164005/

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