我正在开发一个允许用户使用2个团队之间的视图夹具的体育应用程序。 的灯具类采取以下属性:SQL - 将变量设置为另一个表中的列的值
public Fixture(int id, int tournamentId,
String gender, String section,
String team1, String team2,
String date, String time, String venue, String court)
得到的数据从在线数据库中抽取,但我有一些麻烦的SQL查询。我使用的是两个表
TournamentLogs(约在比赛队伍的信息) 有以下栏目:
ID(PK),TournamentId(FK),团队,性别,科
TournamentFixtures(在不同的灯具资讯) 有以下栏目:
ID(PK),TournamentId(FK),日期,时间,法院,地点,TeamA_ID(FK - TournamentLogs.Id),TeamB_ID(FK - TournamentLogs.Id)
两个表都包含其他一些信息,其这不是我在这里要做的事情所必需的。获取大部分信息很容易,因为我通过tournamentId作为查询的参数传递,但是当我尝试在查询中获取团队A和B的团队名称时,我的问题就出现了。目前我尝试将它们设置为变量,并使用TournamentFixtures
的TeamA_ID/TeamB_ID
值检索它们。很明显,我没有这样做,所以任何帮助,将不胜感激。
这里是我有这么远
SELECT TournamentFixtures.Id,
TournamentFixtures.TournamentId,
TournamentFixtures.Date,
TournamentFixtures.Time,
TournamentFixtures.Venue,
TournamentFixtures.Court,
TournamentLogs.Section,
TournamentLogs.Gender,
SET @TeamA = (SELECT TournamentLogs.Team from TournamentLogs where TournamentLogs.Id = TournamentFixtures.TeamA_ID)
SET @TeamB = (SELECT TournamentLogs.Team from TournamentLogs where TournamentLogs.Id = TournamentFixtures.TeamB_ID)
FROM TournamentFixtures
Where TournamentFixtures.TournamentId = '1' //will pass this parameter through as required
我是新手SQL所以这可能是在正确的轨道的方式。任何帮助,将不胜感激。
请用你正在使用的数据库标记你的问题。 –