2015-02-11 67 views
0

我正在尋找從報表,播放器和夾具表中選擇報表中的FixtureID匹配@FixtureID(從組合框中選擇)的所有字段。但是,我無法正確使用別名 - 我嘗試以與Report和Fixture相同的方式來別名Player表,但也會引發錯誤。使用多個表的SQL別名

   SELECT 
        r.*, 
        Player.*, 
        f.*, 
        isNull(Player.PlayerFirstName + ' ' + Player.PlayerLastName, ' ') AS 'PlayerName' 
       FROM 
        Report AS r, Fixture AS f 
       INNER JOIN Player ON Player.PlayerID = r.PlayerID 
       INNER JOIN f ON f.FixtureID = r.FixtureID 
       WHERE 
        r.FixtureID = @FixtureID 
       ORDER BY 
        ReportDate 

錯誤狀態:「多部分標識符」r.PlayerID「無法綁定」。

任何建議,將不勝感激。

+0

你確定報告表中包含一個名爲PlayerID列? – 2015-02-11 15:36:31

+0

報表表格肯定包含PlayerID,是的。我的意圖是能夠在每個夾具中查看每個玩家的報告 - 如果這回答了您關於交叉連接表的問題。 – Nick 2015-02-11 15:40:56

回答

3

嘗試......

SELECT r.* 
    ,Player.* 
    ,f.* 
    ,isNull(Player.PlayerFirstName + ' ' + Player.PlayerLastName, ' ') AS 'PlayerName' 
FROM Report AS r 
INNER JOIN Player ON Player.PlayerID = r.PlayerID 
INNER JOIN Fixture AS f ON f.FixtureID = r.FixtureID 
WHERE r.FixtureID = @FixtureID 
ORDER BY ReportDate 
+0

忘了提及範圍規則... – jarlh 2015-02-11 15:40:07

+0

這是行得通的 - 謝謝! – Nick 2015-02-11 15:44:12