Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 为什么这个SQL语句不能运行_Sql Server_Tsql - Fatal编程技术网

Sql server 为什么这个SQL语句不能运行

Sql server 为什么这个SQL语句不能运行,sql-server,tsql,Sql Server,Tsql,SQL Server Management Studio为我提供了: Msg 170,15级,状态1,第3行 第3行:“.”附近的语法不正确 编辑 使用修复语法错误后 SELECT * FROM agency INNER JOIN TUser [agency].[dbo].[Matrix_Branch_ID]=[TUser].[dbo].[client_id] Microsoft SQL Server Managment Studio gives me: SQL Server Manageme

SQL Server Management Studio为我提供了:

Msg 170,15级,状态1,第3行 第3行:“.”附近的语法不正确

编辑

使用修复语法错误后

SELECT * FROM agency
INNER JOIN TUser
[agency].[dbo].[Matrix_Branch_ID]=[TUser].[dbo].[client_id]
Microsoft SQL Server Managment Studio gives me:
SQL Server Management Studio现在为我提供了:

Msg 208,16级,状态1,第1行 无效的对象名称“代理”。 Msg 208,16级,状态1,第1行 无效的对象名称“TUser”

您缺少ON关键字请参见中的语法

您缺少ON关键字请参见中的语法


您是否选择了正确的数据库?SQL Server默认使用主数据库,而您可能不希望使用主数据库

您可能希望限定表上的模式,而不是选择的项目。例如:

SELECT * FROM agency
INNER JOIN TUser
ON [agency].[Matrix_Branch_ID]=[TUser].[client_id]

您是否选择了正确的数据库?SQL Server默认使用主数据库,而您可能不希望使用主数据库

您可能希望限定表上的模式,而不是选择的项目。例如:

SELECT * FROM agency
INNER JOIN TUser
ON [agency].[Matrix_Branch_ID]=[TUser].[client_id]

如果您在SSMS中运行此功能,那么您是否在正确的数据库中;包含这两个表的那个


当查询窗口处于活动状态时,您可以在工具栏上的下拉菜单中以及查询窗口的页脚中看到您所在的当前数据库。

如果您在SSMS中运行此操作,您所在的数据库是否正确;包含这两个表的那个



当查询窗口处于活动状态时,您可以在工具栏上的下拉菜单以及查询窗口的页脚中看到当前数据库。

我收到一个新错误,请参阅原始帖子。我也用你的语法和同样的错误试过了。有一个叫做TUser的表吗?您需要为表名编写dbo.TUser吗?@Celeritas您是否从选择SCHEMA_NAMEschema_id、sys.objects中的name(名称在'agency'、'TUser'@ConradFrix No中)获得结果来回答您的问题。问题是我没有连接到数据库。@KrisGruttemeyer在我回答后,OP戏剧性地改变了他的问题。这是我得到一个新的错误,请看原始帖子。我也用你的语法和同样的错误试过了。有一个叫做TUser的表吗?您需要为表名编写dbo.TUser吗?@Celeritas您是否从选择SCHEMA_NAMEschema_id、sys.objects中的name(名称在'agency'、'TUser'@ConradFrix No中)获得结果来回答您的问题。问题是我没有连接到数据库。@KrisGruttemeyer在我回答后,OP戏剧性地改变了他的问题。以下是为什么代理和Tuser在dbo之前?如果您在SSMS中运行此操作,那么您是否在正确的数据库中;包含那两张桌子的那个?@marc_你说得对。在Microsoft Management studio中如何告知/指定查询的数据库,因为我在对象资源管理器中在正确的数据库中展开了正确的表。既然你的答案解决了这个问题,如果你把它贴出来,我会把它作为右键,放在左上角,你会看到一个很可能有master的下拉列表,把它改成你当前的DB。或者,您可以通过任意一种方式从DBNAME.dbo.TABLENAME中选择*works@Celeritas请不要那样戏剧性地改变你问题的实质。这让未来的游客感到困惑。最好是简单地问一个新问题。既然你已经得到了解决第二个问题的答案,我就把这两个修订结合起来。要了解更多信息,请参见为什么在dbo之前是agency和Tuser?如果您在SSMS中运行此功能,那么您是否在正确的数据库中;包含那两张桌子的那个?@marc_你说得对。在Microsoft Management studio中如何告知/指定查询的数据库,因为我在对象资源管理器中在正确的数据库中展开了正确的表。既然你的答案解决了这个问题,如果你把它贴出来,我会把它作为右键,放在左上角,你会看到一个很可能有master的下拉列表,把它改成你当前的DB。或者,您可以通过任意一种方式从DBNAME.dbo.TABLENAME中选择*works@Celeritas请不要那样戏剧性地改变你问题的实质。这让未来的游客感到困惑。最好是简单地问一个新问题。既然你已经得到了解决第二个问题的答案,我就把这两个修订结合起来。欲了解更多信息,请参阅
SELECT * FROM agency
INNER JOIN TUser
ON [agency].[Matrix_Branch_ID]=[TUser].[client_id]
Use [Database_name]

SELECT * FROM dbo.agency
INNER JOIN dbo.TUser ON agency.Matrix_Branch_ID=TUser.client_id