Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 语法不是一个函数_Sql_Sql Server 2008 - Fatal编程技术网

Sql 语法不是一个函数

Sql 语法不是一个函数,sql,sql-server-2008,Sql,Sql Server 2008,以下是我的SQL语句: N.File_Id = ServerFiles.Id WHERE [...] “File_Id”以粉红色突出显示,是否有其他方法可以覆盖此内容?我想这就是为什么我的SQL不返回结果集的原因 谢谢 修订守则: SELECT N.Id, NLoc.N_Id, Loc.Id as Loc_Id, CAST(N.Text AS TEXT) as Text, FilePath, CAST(N.Title AS TEXT) as Title, N.Crea

以下是我的SQL语句:

 N.File_Id = ServerFiles.Id WHERE [...]
“File_Id”以粉红色突出显示,是否有其他方法可以覆盖此内容?我想这就是为什么我的SQL不返回结果集的原因

谢谢

修订守则:

SELECT 
   N.Id, NLoc.N_Id, Loc.Id as Loc_Id, 
   CAST(N.Text AS TEXT) as Text, FilePath, 
   CAST(N.Title AS TEXT) as Title, N.CreatD as RegDate
FROM 
   NLoc 
JOIN N ON NLoc.Not_Id = N.Id 
JOIN Loc ON NLoc.Loc_Id = Loc.Id
JOIN ServerFiles ON N.File_Id = ServerFiles.Id 
WHERE 
    Loc_Id IN (1)

将其放入[]中,如[N].[File\u Id]

SELECT 
N.Id, NLoc.N_Id, 
Loc.Id as Loc_Id, CAST(N.Text AS TEXT) as Text, 
FilePath, CAST(N.Title AS TEXT) as Title,
 N.CreatD as RegDate 

 FROM NLoc 
 JOIN N  ON NLoc.Not_Id=N.Id 
 JOIN Loc ON NLoc.Loc_Id=Loc.Id 
 JOIN ServerFiles ON [N].[File_Id]=ServerFiles.Id 
 WHERE NLoc.Loc_Id IN (1) -- or Loc.Id IN (1) 
试试这个:

SELECT 
    N.Id
    , NLoc.N_Id
    , Loc.Id as Loc_Id
    , CAST(N.Text AS TEXT) as Text
    , FilePath
    , CAST(N.Title AS TEXT) as Title
    , N.CreatD as RegDate 

FROM NLoc 
     JOIN N  ON NLoc.Not_Id=N.Id 
     JOIN Loc ON NLoc.Loc_Id=Loc.Id 
     JOIN ServerFiles ON N.File_Id=ServerFiles.Id 
WHERE Loc.Id = 1
我看到的第一个问题是,您不能使用SELECT INDER WHERE语句中定义的别名(因此您不能使用Loc_Id,您必须使用Loc.Id)

让我知道这是否适用于您,或者您仍然会遇到错误


我还注意到您使用了N.File_Id和N.Id,您确定表中有这两列吗?你能发布你的模式吗?

你能发布整个SQL吗?很难说出您在这里尝试执行的操作。请添加更多信息,例如完整的SQL语句、您尝试实现的内容、您已经尝试的内容……这是您的完整SQL吗?如果是这样,请从零件中选择和。如果没有,请确保在from语句中为负数重复定义别名(N)。好的,我会修改的。对不起,我注意到您使用了N.File_Id和N.Id,您确定表中同时包含这两列吗?你能发布你的模式吗?你的代码和注释都有错误。不能在同一个括号内使用表名和列,它必须是[N].[File_Id],但不需要这样做。此外,您不能在where语句中使用Loc_Id。很抱歉括号错误。我已经更新了。它是NLoc.Loc\u Id还是Loc.Id还是一个问题?@NiladriBiswas因为他加入了这些列,所以这两个列都有相同的值,所以他使用这两个列中的哪一个并不重要。是的..你是对的。。。我有点不对劲,应该搬出公司。屏幕现在。。。需要好好休息一下。