【问题标题】:SQL Server views - select column via IDSQL Server 视图 - 通过 ID 选择列
【发布时间】:2015-12-28 03:44:41
【问题描述】:

我在生成视图时尝试选择列时遇到问题。

将使用以下两个表生成视图:

团队表:

╔════════╦══════════════╦══╗
║ teamID ║   teamName   ║  ║
╠════════╬══════════════╬══╣
║      1 ║ exampleTeam  ║  ║
║      2 ║ exampleTeam2 ║  ║
╚════════╩══════════════╩══╝

Fixtures 表(homeTeamID 和 awayTeamID 都链接到 Teams 表中的 teamID):

    ╔═══════════╦════════════╦════════════╗
    ║ fixtureID ║ homeTeamID ║ awayTeamID ║
    ╠═══════════╬════════════╬════════════╣
    ║         1 ║          1 ║          2 ║
    ╚═══════════╩════════════╩════════════╝

在生成视图时,我想选择并显示球队名称字段,而不是在比赛中比赛的两支球队的球队 ID。预期的视图结果将显示如下:

╔═══════════╦═════════════╦══════════════╗
║ fixtureID ║  homeTeam   ║   awayTeam   ║
╠═══════════╬═════════════╬══════════════╣
║         1 ║ exampleTeam ║ exampleTeam2 ║
╚═══════════╩═════════════╩══════════════╝

如果我能提供任何关于如何实现这一目标的提示,我将不胜感激。 对于糟糕的格式,我提前道歉。

【问题讨论】:

  • 提示:使用两个连接。
  • 执行类似选择的方式相同。只需为其添加创建视图

标签: sql sql-server views


【解决方案1】:

在sql查询中可以这样做

SELECT F.fixtureID, 
       HomeTeam.teamName as homeTeam,
       AwayTeam.teamName as awayTeam   
FROM Fixtures F
INNER JOIN Teams HomeTeam
ON F.homeTeamId = HomeTeam.teamID 
INNER JOIN Teams AwayTeam
ON F.awayTeamId = AwayTeam.teamID 

创建视图查询如下所示

CREATE VIEW FixtureView
AS

SELECT F.fixtureID, 
           HomeTeam.teamName as homeTeam,
           AwayTeam.teamName as awayTeam   
    FROM Fixtures F
    INNER JOIN Teams HomeTeam
    ON F.homeTeamId = HomeTeam.teamID 
    INNER JOIN Teams AwayTeam
    ON F.awayTeamId = AwayTeam.teamID 

【讨论】:

    猜你喜欢
    • 2021-04-26
    • 2019-11-27
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多