使用此工具: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