读书人

Access SQL语法不支持多个Left Outer

发布时间: 2012-02-12 17:16:34 作者: rapoo

Access SQL语法不支持多个Left Outer Join吗?
Select a.FClass,a.FParentID,b.FTemplateName as FParentName,a.FFormatID,a.FFormatName,a.FDefault,a.FVisible from t_pnt_form a left outer join t_m_form b on a.FParentID=b.FTemplateID left outer join t_menu_tvw_group t on b.FParentID=t.FID

运行上面的语句报如下错误

其他信息: 语法错误 (操作符丢失) 在查询表达式 'a.FParentID=b.FTemplateID left outer join t_menu_tvw_group t on b.FParentID=t.FID ' 中。

去掉第二个left outer join
left outer join t_menu_tvw_group t on b.FParentID=t.FID
就可以,为什么,不支持多个left outer join吗?


[解决办法]

每增加一个left join,增加一对().

如:

select *
from ((A
left join B on A.id=B.id)
left join C on A.id=C.id)

[解决办法]
Select a.FClass,a.FParentID,b.FTemplateName as FParentName,a.FFormatID,a.FFormatName,a.FDefault,a.FVisible from
( t_pnt_form a left outer join t_m_form b on a.FParentID=b.FTemplateID )
left outer join t_menu_tvw_group t on b.FParentID=t.FID

[解决办法]
JET SQL不是T-SQL,是有区别的,写两种SQL语句
[解决办法]

Access使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大。


JET SQL 帮助(jet4 access2000)下载地址

http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=


但SQL Server 和Access都支持如下格式:

select *
from ((A left join B on A.id=B.id)
left join C on A.id=C.id)

读书人网 >Access

热点推荐