【问题标题】:SQL selecting one column multiple timesSQL多次选择一列
【发布时间】:2017-11-27 10:49:21
【问题描述】:

所以我有两张桌子:

create table teams(
teamShortName varchar(3) not null,
teamLongName varchar(35) not null,
PRIMARY KEY(teamShortName)
)

create table results(
matchID int identity(1,1)
homeTeam varchar(3) not null references teams(teamShortName),
awayTeam varchar(3) not null references teams(teamShortName),
homeTeamGoals int not null,
awayTeamGoals int not null,
PRIMARY KEY(matchID)
)

现在我想创建可以给我结果但使用 teamLongNames 的视图/选择...

尝试了一些东西,但没有成功 - 主队和客队的名称相同/双方都为空值

数据看起来像这样

teamShortName     teamLongName
     RMD         FC Real Madrid
     FCB         FC Barcelona

matchID     homeTeam   awayTeam   homeTeamGoals   awayTeamGoals
   1           RMD        FCB           2               2

结果应该是这样的

    Home        HomeGoals        AwayGoals        Away
FC Real Madrid      2                2         FC Barcelona

谢谢你帮助我:)

【问题讨论】:

  • 提供一些样本数据,以及预期的结果
  • 请标记您使用的 DBMS(数据库)。
  • 按您的要求添加了两个

标签: sql sql-server


【解决方案1】:

使用别名,你可以链接表两次

SELECT HT.teamLongName, homeTeamGoals, aT.teamLongName, awayTeamGoals
FROM results INNER JOIN teams HT on  homeTeam = HT.teamShortName
INNER JOIN teams AT ON awayTeam = AT.teamShortName

【讨论】:

  • 外连接?您希望由一支甚至零支球队参加比赛吗?很奇怪。
  • @ThorstenKettner 已更改为内部连接..感谢您指出
  • @Michal Janošec 你能显示表格中数据的屏幕截图吗?
  • @AswaniMadhavan 编辑了我的帖子,在您的帮助下得到了结果,谢谢...我会发布它,但我有我的(捷克语)语言的数据库,认为它对任何人都没有帮助:D
  • @Michal Janošec 发布了您之前的评论。您的问题已解决,无需发布
猜你喜欢
  • 2018-02-07
  • 1970-01-01
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
相关资源
最近更新 更多