我在这个特定的语句上不断收到语法错误。访问内部连接的问题
SELECT tbl1.ProjectID, tbl1.EntryDate AS StartDate, tbl2.EntryDate AS EndDate,
(tbl3.ChecklistDayMax - tbl3.ChecklistDayMin + 1) AS DaysAllotted,
(SELECT ProjectPriority FROM project_master WHERE ProjectID = tbl1.ProjectID) AS Priority,
tbl3.MilestoneName,
IIF(Priority = 1, tbl3.BonusDaysFH,
IIF(Priority = 2, tbl3.BonusDaysFM,
IIF(Priority = 3, tbl3.BonusDaysFL))) AS BonusDaysAllotted
FROM (((checklist_entries AS tbl1
INNER JOIN checklist_entries AS tbl2 ON tbl1.ProjectID = tbl2.ProjectID)
INNER JOIN milestone_def AS tbl3 ON [@milestoneID] = milestone_def.MilestoneDefID)
INNER JOIN project_active_status AS tbl4 ON tbl1.ProjectID = project_active_status.ProjectID)
WHERE tbl1.ChecklistDay = tbl3.ChecklistDayMin
AND tbl2.ChecklistDay = tbl3.ChecklistDayMax
AND tbl4.ProjectIsOpen = FALSE;
错误说语法错误在加入操作,然后milestone_def凸显了第二INNER JOIN之后。有趣的是,如果我转这条线......
INNER JOIN milestone_def AS tbl3 ON [@milestoneID] = milestone_def.MilestoneDefID)
这条线......
INNER JOIN milestone_def AS tbl3 ON [@milestoneID] = tbl3.MilestoneDefID)
我得到的错误加入不支持表达,然后它突出...
[@milestoneID] = tbl3.MilestoneDefID)
但你可以看到,在第一个加入...
INNER JOIN checklist_entries AS tbl2 ON tbl1.ProjectID = tbl2.ProjectID
我把它命名为tbl2,然后使用tbl2.ProjectID,表达式工作得很好。最终,我需要得到这个工作,不管我如何命名这些东西。
[@milestoneID]是传递到查询匹配milestone_def.MilestoneDefID
问题标题“太大声”。 – Lion
什么是'[@milestoneID]'它是从一个表中取出来的?它是从哪里来的?尝试在该列之前放置正确的表别名,然后对连接中的另一列使用'tbl3.MilestoneDefID'。 – Taryn
这是一个传递给查询的参数。 –