这是我的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)
答案 0 :(得分: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
我看到的第一个问题是你不能使用在WHERE语句中的SELECT中定义的别名(因此你不能使用Loc_Id,你必须使用Loc.Id)。
如果这对你有用,或者你仍然收到错误,请告诉我。
我也注意到你使用N.File_Id和N.Id,你确定你的表中有这两列吗?你可以发布你的架构吗?
答案 1 :(得分:0)
将其放在 [] 中,例如 [N]。[File_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)