将多个 oracle 连接转换为多个 ANSI 连接

Converting multiple oracle join to multiple ANSI join

使用此工具:http://107.170.101.241:8080/joinConverter/

我看到一个简单的 Oracle 联接是从以下内容转换而来的:

 SELECT *
     FROM Table1 t1,
          Table2 t2
    WHERE t1.id = t2.id

加入 ANSI:

SELECT *
     FROM Table1 t1
inner join Table2 t2 on t1.id = t2.id

但是,对于像这样的更复杂的查询,它会出错:

SELECT *
 FROM Table1 t1,
      Table2 t2,
      Table3 t3
WHERE t2.id = t3.id
  AND t1.account_id = 5
  AND t2.coord in (t1.w, t1.x, t1.y, t1.z)
  AND t3.num IS NOT NULL

我收到错误:

Error 1, Message: This table has no join condition: Table2
Error 2, Message: This table has no join condition: Table3

我该如何解决这个问题?什么是合适的 ANSI 语法?

语法是:

SELECT *
FROM Table1 t1 JOIN
     Table2 t2
     ON t2.coord IN (t1.w, t1.x, t1.y, t1.z) JOIN
     Table3 t3
     ON t2.id = t3.id
WHERE t1.account_id = 5
      t3.num IS NOT NULL