C# SQL查询在SQL Server MS中不工作

C# SQL查询在SQL Server MS中不工作,c#,sql-server,sql-server-2008,C#,Sql Server,Sql Server 2008,我正在使用SQLServerManagementStudio在Windows窗体上构建应用程序。 我已经从W3MS SQL引擎学习了SQL的基础知识。现在,当我尝试在SQLServerManagementStudio中使用Join时,它抛出了一个异常 我的问题是: SELECT Customers.CustomerName,COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders INNER JOIN Customers ON Orders.Cust

我正在使用SQLServerManagementStudio在Windows窗体上构建应用程序。 我已经从W3MS SQL引擎学习了SQL的基础知识。现在,当我尝试在SQLServerManagementStudio中使用Join时,它抛出了一个异常

我的问题是:

SELECT Customers.CustomerName,COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID
GROUP BY CustomerName;
查询在w3 Ms SQL engine中运行良好,但在SQL Server Management studio中运行不正常

异常/错误是:

消息207,级别16,状态1,第3行无效列名“CustomerName”

消息207,级别16,状态1,第1行无效列名“CustomerName”

表中有两列,即
CustomerID
CustomerName
。 我做错了什么

已解决 使用完全限定名修复了这个问题。
感谢您的帮助:)

在SQL Server Management Studio中刷新本地IntelliSense缓存。 您可以在“编辑”菜单下选择。“编辑-->智能感知-->刷新本地缓存” 这将解决您的问题

谢谢,
Raghava

您是否确实连接到了正确的数据库?当然,其他简单查询(如“从订单中选择*)在应用程序中也可以正常工作。您是否可以创建一个工作提琴,在此处显示问题:?使用完全限定的表名尝试相同的查询,即客户和订单的DBname.schemaname.tablename,看看你是否也遇到同样的问题。例如DWH.dbo.Customers或与您的情况类似的查询。如果您连接到同一个数据库,并且以相同的登录名连接,那么没有理由在一个应用程序中使用上述简单的查询,而不在另一个应用程序中使用。因此,有些事情是不同的,因此我的问题。如果运行以下SQL(在SSMS中),是否返回任何内容<代码>从sys.tables中选择c.[name]作为ColumnName,从sys.tables中选择t.[name]作为TableName。t JOIN sys,t.object_id=c.object_id上的c列,其中c.[name]='CustomerName'