【发布时间】:2011-03-14 20:07:31
【问题描述】:
是否可以在 2 个表之间进行 CROSS JOIN,然后在第 3 个表上进行 LEFT JOIN,然后再进行更多的左联接?我正在使用 SQL Server 2000/2005。
我正在运行以下查询,这是非常直接的 IMO,但我收到了一个错误。
select P.PeriodID,
P.PeriodQuarter,
P.PeriodYear,
M.Name,
M.AuditTypeId,
A.AuditId
from Period P, Member M
LEFT JOIN Audits A
ON P.PeriodId = A.PeriodId
WHERE
P.PeriodID > 29 AND P.PeriodID < 38
AND M.AuditTypeId in (1,2,3,4)
order by M.Name
我收到以下错误:
消息 4104,第 16 级,状态 1,第 1 行 多部分标识符“P.PeriodId” 无法绑定。
如果我删除 LEFT JOIN,则查询有效。但是,我需要 LEFT JOIN,因为我需要从其他表中提取更多信息。
我做错了什么?有没有更好的方法?
【问题讨论】:
标签: sql-server left-join cross-join