【发布时间】:2012-02-22 16:03:55
【问题描述】:
我有一个关于通过 PHPmyadmin 在 MySql 中查询的问题。我有一个包含多个表的数据库。这些表之一包含体育比赛的比赛信息。此“游戏”表包含“gameid”、“pouleid”、“hometeamnumber”、“awayteamnumber”、“gamedate”列。
然后我有另一个表“团队”,其中存储了团队数据。该表只有三列:“teamnumber”、“clubname”、“teamname”。
现在我想在这个数据库上做一个 sql 查询。在结果中,我想显示“gameid”、“homeclubname”、“hometeamname”、“awayclubname”、“awayteamname”和“gamedate”。要获取 homeclubname 和 hometeamname,我需要从 Game 表中获取“hometeamnumber”并将其与“Team”表中的“teamnumber”进行比较。 awayclubname 和 awayteamname 也是如此。
但我只能设法在我的查询中获得 homeclub/team 或 awayclub/team。因此我使用以下 SQL 语句:
“SELECT gameid, pouleid, hometeamnumber, clubname, teamname, awayteamnumber, gamedate
FROM Game, Team
WHERE Game.hometeamnumber = Team.teamnumber”
但这只会给我 homeclubname 和 hometeamname。理想我还想要 awayclubname 和 awayteamname。但要获得这些信息,我必须查看表 Team。下面的查询显然是行不通的。
“SELECT gameid, pouleid, hometeamnumber, clubname, teamname, awayteamnumber, gamedate
FROM Game, Team
WHERE Game.hometeamnumber = Team.teamnumber
AND Game.awayteamnumber = Team.teamnumber”
如何在一个 sql 查询中做到这一点?
【问题讨论】:
-
将 AND 更改为 OR 不起作用,因为我需要主队和客队。使用 JOIN 是正确的解决方案。