Access中的此查询有什么问题?

时间:2017-09-29 14:51:30

标签: sql ms-access

我在Access中创建了一个查询,但它不起作用并抛出错误。这个查询有什么问题?

SELECT * 
FROM   ((adsoyad 
         LEFT JOIN fatura 
                ON adsoyad.[gsm number] = fatura.[gsm number]) 
        LEFT JOIN base 
               ON adsoyad.[gsm number] = base.[gsm number]) AS t 

更新:错误为Syntax error in FROM clause

2 个答案:

答案 0 :(得分:4)

您不能以这种方式使用别名(As T)。别名应该引用子查询,字段或表。您尝试在多个已连接的表上使用别名。

删除As T,或者在子查询中包装FROM部分,如下所示:

SELECT * 
FROM   
    (SELECT * FROM 
         ((adsoyad 
         LEFT JOIN fatura 
                ON adsoyad.[gsm number] = fatura.[gsm number]) 
        LEFT JOIN base 
               ON adsoyad.[gsm number] = base.[gsm number])) AS t 

答案 1 :(得分:2)

此处不需要使用括号,您应该在表格中添加名称。

我认为这应该有效:

SELECT a.*,
       f.*,
       b.*
FROM adsoyad a
   LEFT JOIN fatura f
      ON a.[gsm number] = f.[gsm number]
   LEFT JOIN base b
      ON a.[gsm number] = b.[gsm number]

我没有测试过......