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)