我正在设计一个足球赔率数据库。
我有以下赔率:
ID HomeID AwayID赔率
并在一张桌子上存放所有足球队的名字叫球队:
身份证名
我想显示一个查询:
身份证姓氏姓氏赔率
有什么方法可以进行这样的查询吗?或者我需要将团队表拆分为2个表,例如:HomeTeam,AwayTeam?
一张名为team的桌子就可以了。主队和客场ID是引用团队表中主键ID的外键。
您提出的设计未规范化。您不应该重复数据,就像您有单独的主队和客队表时一样。
create table team (
id int not null,
name varchar(20) not null,
primary key(id)
);
create table odds (
home_id int not null,
away_id int not null,
odds varchar(20) not null,
primary key(home_id, away_id),
foreign key(home_id) references team(id),
foreign key(away_id) references team(id)
);
select h.name, a.name, o.odds
from odds as o
join team as h
join team as a
on o.away_id = a.id
on o.home_id = h.id
where h.name = 'home team name'
and a.name = 'away team name'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句