表别名无法在sql server 2012上运行

时间:2017-07-12 09:10:40

标签: sql-server-2012

我的表别名无法在SQL Server 2012上运行。我启用了Intellisense。 它还没有用。

select * from department a - 别名a应该在我写的时候自动获取所有列:

select *
  from department a
 where a.departmentid = .. 
当我写departmentid时,

a列必须自动出现。

我的服务器中是否需要更改设置?

2 个答案:

答案 0 :(得分:0)

您描述它的方式应该有效。这是基本的TSQL,并且不能在SSMS中禁用它。

以下是使用表别名的示例;

USE AdventureWorks2008R2;
GO
SELECT c.CustomerID, s.Name
FROM Sales.Customer c -- using 'AS'
JOIN Sales.Store AS s -- Not using 'AS'
ON c.CustomerID = s.BusinessEntityID ;

AS的使用不是强制性的。

如果您确实在SQL Server 2012上运行,假设您在SQL Server Management Studio中查询数据库,则此语法应该可以正常运行。

答案 1 :(得分:0)

考虑到Rajeev的查询不完整,这可能会或可能不会回答他的问题,但由于这是Google的第一个结果,我想我会指点人Andriy M's answer on "The multi-part identifier could not be bound"

  

您正在将隐式联接与显式联接混合使用。这是允许的,但你需要知道如何正确地做到这一点。

明确:包含Join关键字的联接。

  

问题是,显式连接(使用JOIN关键字实现的连接)优先于隐式连接('逗号'连接,其中连接条件在WHERE子句中指定)。 / p>