这样可以连接三个表吗。
select T1.[...],T2.[...],T3.[...]
from T1
full outer join T2 on T1.[key]=T2.[key]
full outer join T3 on T1.[key]=T3.[key]
full outer join T2 on T2.[key]=T3.[key]
我的问题是:这是一个有效的表格吗? 如果没有,有没有办法做这样的操作?
答案 0 :(得分:1)
可以连接三个表,并且您的示例可以在进行一些更改后运行,但是 FROM 子句中存在语法和范围错误。
即使是那些,我也不认为它会做你想做的事。您可能想要使用 GROUP BY
在此处查看示例/讨论:
Multiple FULL OUTER JOIN on multiple tables
我也使用这个站点作为来源,因为我已经有一段时间没有接触 SQL,它可能对你也有帮助:
https://learnsql.com/blog/how-to-join-3-tables-or-more-in-sql/
答案 1 :(得分:0)
它是“有效的”,但 full join
不正确。 on
条件会将它们更改为某种其他类型的 join
。
您的查询有其他错误。但我推测你想要:
select T1.[...], T2.[...], T3.[...]
from T1 full join
T2
on T2.[key] = T1.[key] full join
T3 join
on T3.[key] = coalesce(T2.[key], T1.[key]);