FROM子句中的MS Access语法错误 [英] MS Access syntax error in FROM clause

查看:79
本文介绍了FROM子句中的MS Access语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下查询,我不知道为什么收到错误Syntax error in FROM clause.

I have the following query and I have no idea why I am getting the error Syntax error in FROM clause.

SELECT * 
FROM t_object 
INNER JOIN 
(
   SELECT * 
   FROM t_objectproperties tag 
   WHERE tag.Property = 'Location' 
     AND tag.Value = 'Queens'
) AS location 
   ON t_object.Object_ID = location.Object_ID 
INNER JOIN 
(
   SELECT * 
   FROM t_objectproperties tag 
   WHERE tag.Property = 'Room' 
     AND tag.Value = 'King'
) AS type 
   ON t_object.Object_ID = type.Object_ID 

推荐答案

MS Access要求您在多个联接周围使用括号:

MS Access requires that you use parentheses around your multiple joins:

SELECT * 
FROM (t_object 
INNER JOIN 
(
   SELECT * 
   FROM t_objectproperties as tag 
   WHERE tag.Property = 'Location' 
     AND tag.Value = 'Queens'
) AS location 
   ON t_object.Object_ID = location.Object_ID) 
INNER JOIN 
(
   SELECT * 
   FROM t_objectproperties as tag 
   WHERE tag.Property = 'Room' 
     AND tag.Value = 'King'
) AS type 
   ON t_object.Object_ID = type.Object_ID

这也可以改写为:

SELECT * 
FROM (t_object as o
       INNER JOIN t_objectproperties as location 
         ON o.Object_ID = location.Object_ID)
       INNER JOIN t_objectproperties as type 
         ON o.Object_ID = type.Object_ID
WHERE location.Property = 'Location' 
  AND location.Value = 'Queens'
  AND type.Property = 'Room' 
  AND type.Value = 'King'

这篇关于FROM子句中的MS Access语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆