我有三张桌子:
videogames.cod - playerid (PK), forename, surname, points
videogames.codhost - hostid (PK), playerid (FK), gameid (FK), wins (integer), losses (integer)
videogames.codgame - gameid (PK), gametype (extinction, deathmatch)
我创建了一个存储过程,它返回玩家根据姓氏得分的分数。
CREATE PROCEDURE getpoints @surname nvarchar(30)
AS
SELECT forename, surname, points
FROM videogames.cod
WHERE surname = @surname
GO
问题是我还想要来自其他两个表的数据。我需要来自codhost表的胜利和损失,它们都是整数,我想要来自codgame表的游戏类型,即
姓氏,姓氏,分数,胜利,损失,游戏类型。
我知道我需要加入,但我不知道如何加入表格,因为他们不会共享相同的密钥。是的,我知道我可以更改表格中的字段,但我更愿意学习如何为将来的参考文件做这些事情,当我使用我理解的东西时,对我来说更有意义 - 例如游戏。我知道它是愚蠢的,但这是我学习的方式。
答案 0 :(得分:0)
尝试这个,它不在我的头顶,所以如果它不起作用,我会验证和修改:
CREATE PROCEDURE getpoints @surname nvarchar(30)
AS
SELECT c.forename, c.surname, c.points, h.wins, h.losses, g.gametype
FROM videogames.cod c
left join videogames.codhost h on c.playerid = h.playerid
left join videogames.codgame g on h.gameid = g.gameid
WHERE c.surname = @surname
GO