2015-02-11 3 views
0

Я ищу, чтобы выбрать все поля из таблиц Report, Player и Fixture, где FixtureID из таблицы Report соответствует @FixtureID (выбранному из combobox). Тем не менее, у меня возникли проблемы с правильной работой сглаживания - я пытался использовать псевдоним таблицы Player так же, как Report и Fixture, но это также вызывает ошибку.SQL aliasing с несколькими таблицами

   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? –

+0

В таблице Report определенно содержится идентификатор игрока, да. Мое намерение состоит в том, чтобы иметь возможность просматривать отчет по каждому Игроку в каждом Fixture, если это отвечает на ваш вопрос относительно таблиц перекрестного соединения. – Nick

ответ

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

+0

Это работает - спасибо! – Nick

Смежные вопросы