Select hteam.name as hometeamname,
ateam.name as awayteamname,
mi.homeTeam,
mi.awayTeam
From matchInformation mi
Inner Join school hteam
On hteam.ncaaId = mi.homeTeam
Inner Join school ateam
On ateam.ncaaId = mi.awayTeam
Where hteam.name = 'FOO' Or ateam.name='FOO'
SELECT
(Select name
From school
Where mi.homeTeam=ncaaId)
As "Home Team",
(Select name
From school
Where mi.awayTeam=ncaaId)
As "Away Team",
mi.homeTeam, mi.awayTeam
From matchInformation
As mi
Inner Join school
As s
On (s.ncaaId = mi.homeTeam OR s.ncaaId = mi.awayTeam)
Where s.name = "FOO";
SELECT school.name,mi.homeTeamId,mi.awayTeamId
FROM matchinformation mi
INNER JOIN school on school.id = mi.homeTeamId or school.id= mi.awayTeamId
where <condition>
SELECT SC.schoolName, MA.homeTeamName, MA.awayTeamName
FROM matchInformation MA
INNER JOIN
school SC ON SC.id = MA.schoolFSID
WHERE
MA.matchId = SC.matchFSID
4条答案
按热度按时间zvokhttg1#
虽然你自己已经回答了这个问题,但我想提供另一种方法,加入学校的table两次。
fcipmucu2#
这是一些最终有效的方法。我意识到列名有点不同,但我想在我的第一个问题中简化它们:
zi8p0yeb3#
希望这有帮助。
vlurs2pr4#
我不完全确定我是否误解了你的数据库结构,但这就是它应该是什么样子。
你需要能够用一个唯一的id来识别比赛和学校。这就是为什么我这么长时间都在想这个问题。你想知道那些球队的名字,尽管你真的不知道他们的来龙去脉。这是哪所学校?你必须有一个
schoolFSID
在你的matchInformation
table。什么匹配?你需要有一个matchFSID
在你学校的table上。希望这有帮助!