Что это значит в SQL Server 2005 - PullRequest
       1

Что это значит в SQL Server 2005

1 голос
/ 25 ноября 2010

Я работаю с Microsoft SQL Server 2005, и при выполнении этого запроса:

select 
    F.E,
    S.E 
from 
    Subject

я получаю следующие ошибки:

Идентификатор из нескольких частей "FE"не может быть связан.Не удалось связать многоэлементный идентификатор "SE".

, но при выполнении этого запроса он отлично работает

select * from Subject

Что означают эти ошибки?

Ответы [ 3 ]

7 голосов
/ 25 ноября 2010

Ошибка означает, что сервер SQL не знает, что такое F.E и S.E.

Если S относится к вашей таблице Subject, для instace вам необходимо присвоить имя S:

SELECT S.* FROM Subject S

Это извлечет все поля (*) во всех строках (без WHERE) из таблицы Subject, которая временно называется S.

Если вы хотите получить только поле E из Subject, вы можете написать

SELECT S.E FROM Subject S

Это то же самое, что и написание

SELECT E FROM Subject
0 голосов
/ 25 ноября 2010

Извините за трату стека на поток, просто назовите его F_E, а не F.E

Это идентификатор, в котором нет таких символов, как .!@#$#$%^%^&&*&() но он может иметь _

0 голосов
/ 25 ноября 2010

Это означает, что псевдонимы F и S неизвестны.

select S.E
    from Subject S

Затем вы определяете псевдоним S

РЕДАКТИРОВАТЬ # 1

Если вы хотите использовать эти специальные символы, вы должны использовать заключенные в кавычки идентификаторы.

SET QUOTED_IDENTIFIER ON
GO

select [F.E]
        , [S.E]
    from Subject

Вы могли бы даже иметь имена полей, которые включают символ пробела.

[Postal Address]
[Family Name]
[Is Active?]
[Subject #]
[And So Forth!...]

Это несколько простых примеров. =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...