SQLIte 中嵌套内部连接的问题

sti*_*tty 2 sqlite inner-join

下面的 sql 语句不会在 SQLite 中运行:

select * 
from A
left join (B inner join C on B.fkC = C.pk) on A.optionalfkB = B.pk
Run Code Online (Sandbox Code Playgroud)

我得到一个 sqlException “未知列 B.pk”

根据文档@ http://www.sqlite.org/lang_select.html这应该可以工作,并且可以在所有其他 sql 实现中使用。难道我做错了什么?

dee*_*see 6

它不起作用,因为“外部”查询不知道 B 是什么。

select * 
from A
left join (B inner join C on B.fkC = C.pk) B on A.optionalfkB = B.pk
Run Code Online (Sandbox Code Playgroud)

The(B inner join C on B.fkC = C.pk)没有 any 很奇怪select,但规范确实说它是有效的。

  • @stitty 你在问这个问题两年后还在讨论这个问题吗?哈哈,很高兴能帮上忙! (3认同)