sql - 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 子句中的语法错误。
解决方案
使用嵌套选择请求者为其赋予别名
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
推荐阅读
- excel - 在当今的 VBA 中以一维范围作为参数
- java - 如何从另一个 .java 文件打印变量?
- python - 如何使用 pandas 数据框和特定条件运行假设检验?
- c++ - 每个 pc 会话仅执行一次功能(pc 启动)
- mysql - 为什么mysql在年/月/日/小时/分钟/秒/纳米而不是unix时间戳中传输日期?
- javascript - 如何删除使用renderTable输出的R闪亮数据框中的标题行?
- python - 一个完整列表中的多个列表(不在列表中列出)
- javascript - 选择输入过滤器
- javascript - 甜蜜警报不返回真假?
- reactjs - 我正在尝试将我的过滤逻辑从 EnhanceTable.tsx 移动到 PopOvers.tsx 但不成功