首页 > 解决方案 > SQL:将 table1 和 table2 与合并的行链接,然后链接到 table3

问题描述

我正在为这个问题而烦恼,但我无法弄清楚我做错了什么。

表设置

在此处输入图像描述

1)加入表1和表2

2)加入这个表3

我喜欢的问题的第一部分。SQL 如下所示:

SELECT *  
FROM Table1 LEFT JOIN 
     Table2 
     ON Table1.Name & " " & Table1.LastName = Table2.FullName

但是当我想在查询中包含 table3 时,我得到一个错误。

SELECT * 
FROM (Table1 LEFT JOIN 
      Table2 
      ON Table1.Name & " " & Table1.LastName = Table2.FullName
     ) INNER JOIN 
     Table3 
     ON Table2.id = Table3.id

错误:

FROM 子句中的语法错误。

标签: sqlms-access

解决方案


使用嵌套选择请求者为其赋予别名

SELECT *  
FROM 
(
  SELECT 
Table1.Name
, Table1.LastName
, Table2.FullName
, Table2.id AS table2_id
  Table1 LEFT JOIN 
      Table2 
      ON Table1.Name & " " & Table1.LastName = Table2.FullName
) AS T
INNER JOIN 
     Table3 
     ON T.table2_id= Table3.id

推荐阅读