2010-11-25 62 views
1

我與微軟SQL Server 2005的工作,當我執行這個查詢:這是什麼意思在SQL Server 2005

select 
    F.E, 
    S.E 
from 
    Subject 

我得到這些錯誤:

多部分組成的標識符「FE」不能被綁定。 多部分標識符「S.E」不能被綁定。

但是當執行這個查詢,它工作正常

select * from Subject 

什麼這些錯誤是什麼意思?

回答

7

該錯誤表示SQL服務器不知道什麼是F.ES.E是。

如果S指的是你Subject表中,instace,你需要指定名稱S

SELECT S.* FROM Subject S 

這將獲取從表Subject所有行的所有字段(*)(缺乏WHERE)暫時稱爲S

如果你想從Subject只獲取場E,你可以寫

SELECT S.E FROM Subject S 

這是完全相同的寫作

SELECT E FROM Subject 
+0

我認爲這個問題是他使用FE和SE作爲列名。這就是他試圖使用它的原因。只有當您將列名稱放在括號中時才允許點。像`SELECT [F.E],[S.E] FROM Subject`。 – MadBoy 2010-11-25 15:52:14

+0

@MadBoy:很可能是這種情況。OP不給我們許多線索:) – 2010-11-25 16:00:42

0

這意味着FS別名未知。

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!...] 

這些是一些簡單的例子。 =)

+0

簡單的例子,可怕的事情。我不知道有誰知道這個更好:) – 2010-11-25 16:11:23

0

對不起超過流量浪費你的籌碼只是將其命名爲F_E不FE

這是一個標識符,它並沒有像符號[email protected]#$#$%^%^&&*&() 但它可以有_