【发布时间】:2019-09-30 08:21:09
【问题描述】:
我正在尝试使用不同的别名获取记录,但它们是相关的。
我使用的服务器是 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 的平台的新手。提前致谢。
【问题讨论】:
-
你加入
teams两次,但我看不出有任何理由这样做。这样做有什么理由吗? -
您需要在第二次加入团队表时为其指定别名。
-
@TIM - 原因是“away_teamID 和 home_teamID”表都从该 TEAM 表中获取记录
-
@KIKO - 你能告诉我如何按照我所说的那样做的示例吗?我是这个环境的新手;提前感谢