我与微软SQL Server 2005的工作,当我执行这个查询:这是什么意思在SQL Server 2005
select
F.E,
S.E
from
Subject
我得到这些错误:
多部分组成的标识符“FE”不能被绑定。 多部分标识符“S.E”不能被绑定。
但是当执行这个查询,它工作正常
select * from Subject
什么这些错误是什么意思?
我与微软SQL Server 2005的工作,当我执行这个查询:这是什么意思在SQL Server 2005
select
F.E,
S.E
from
Subject
我得到这些错误:
多部分组成的标识符“FE”不能被绑定。 多部分标识符“S.E”不能被绑定。
但是当执行这个查询,它工作正常
select * from Subject
什么这些错误是什么意思?
该错误表示SQL服务器不知道什么是F.E
和S.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
这意味着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!...]
这些是一些简单的例子。 =)
简单的例子,可怕的事情。我不知道有谁知道这个更好:) – 2010-11-25 16:11:23
对不起超过流量浪费你的筹码只是将其命名为F_E不FE
这是一个标识符,它并没有像符号[email protected]#$#$%^%^&&*&()
但它可以有_
我认为这个问题是他使用FE和SE作为列名。这就是他试图使用它的原因。只有当您将列名称放在括号中时才允许点。像`SELECT [F.E],[S.E] FROM Subject`。 – MadBoy 2010-11-25 15:52:14
@MadBoy:很可能是这种情况。OP不给我们许多线索:) – 2010-11-25 16:00:42